Search Results

Search found 3996 results on 160 pages for 'operations'.

Page 50/160 | < Previous Page | 46 47 48 49 50 51 52 53 54 55 56 57  | Next Page >

  • Get Ready...Oracle CloudWorld is Coming to a City Near You in 2013

    - by Gene Eun
    Is your organization considering the cloud for deploying enterprise applications? Are mobile and social part of your cloud strategy? If you answered YES to either question, then you should plan to join us at an Oracle CloudWorld event, coming to a city near you in 2013. If you attend, you'll get an opportunity to learn firsthand about Oracle Cloud, talk to product experts, see live demos, and network with other industry professionals. By the way, did I mention that Oracle CloudWorld is a FREE event?Whether you're a C-level executive, line of business manager, or hardcore application developer, Oracle CloudWorld will have valuable information for you with keynotes, breakout sessions, demos, and dedicated tracks for: Sales and Marketing Customer Service and Support Finance and Operations Human Resources Application Developers Applications IT Click here to learn more about Oracle CloudWorld, including cities and dates. Hope to see you there!

    Read the article

  • How do you put a database online?

    - by Dezrik
    I have a very beginner question regarding web development. I've had some experience with JSP, Hibernate, and MAMP to create a simple system for tracking inventory and sales. But this was all done locally on one computer. This time, I want to create a system that could be accessible online. It's to help my mother track her business wherever she goes. So there would be similar aspects like tracking inventory and sales. I understand that you have to have a server in which to host all the files in. But I don't understand how you can access your database online. Or what sorts of applications or products should be used. Currently the host of my database is localhost. How do put it online such that you can still do CRUD operations? Are there any guides to do this?

    Read the article

  • blurry lines between web application context layer, service layer and data access layer in spring

    - by thenaglecode
    I Originally asked this question in SO but on advice I have moved the question here... I'll admit I'm a spring newbie, but you can correct me if I'm wrong, this one liner looks kinda fishy in a best practices sort of way: @RepositoryRestResource(collectionResourceRel="people"...) public interface PersonRepository extends PagingAndSortingRepository<Person, Long> For those who are unaware, the following does many things: It is an interface definition that can be registered in an application context as a jpa repository, automagically hooking up all the default CRUD operations within a persistence context (that is externally configured). and also configures default controller/request-mapping/handler functionality at the namespace "/people" relative to your configured dispatcher servlet-mapping. Here's my point. I just crossed 3 conceptual layers with one line of code! this feels against my seperation-of-concern instincts but i wanted to hear your opinion. And for the sake of being on a question and answer site, I would like to know whether there is a better way of seperating these different layers - Service, Data, Controllers - whilst maintaining as minimal configuration as possible

    Read the article

  • Do you know what is a DevOps Project?

    - by Gopinath
    Yesterday I wrote about OpenStack project, an open source cloud computing stack that lets you build Cloud Computing environments. While reading more on this topic I stumbled about a new type of projects called DevOps projects.  OpenStack is all set to become the first DevOps project, reports Forbes …the way OpenStack is applying the open source model to creating cloud infrastructure, the open source model is on the verge of being extended so that the collaboration and design process will include software, hardware, and networking in the data center as well as operational processes. In modern development, the idea of designing software, data center, and operations using one integrated team is called DevOps.

    Read the article

  • Circular motion on low powered hardware

    - by Akroy
    I was thinking about platforms and enemies moving in circles in old 2D games, and I was wondering how that was done. I understand parametric equations, and it's trivial to use sin and cos to do it, but could an NES or SNES make real time trig calls? I admit heavy ignorance, but I thought those were expensive operations. Is there some clever way to calculate that motion more cheaply? I've been working on deriving an algorithm from trig sum identities that would only use precalculated trig, but that seems convoluted.

    Read the article

  • Kronos Workforce Mobile Apps (w/Java ME tech) lets bosses and staff work better

    - by hinkmond
    The Kronos Workforce Mobile apps let bosses spy on their workers, and let workers do what workers do best (uh, you know, work?), all using Java ME technology. See: Enable your Mobile Workforce w/Kronos Here's a quote: Kronos® Workforce Mobile™ Manager – allows managers to use their devices to monitor workforce operations, resolve exceptions, and respond quickly to employee requests. Kronos Workforce Mobile Employee – enables employees to track their work in real time, quickly and easily review information such as their schedules and timecards, and request time off. Kronos mobile applications are delivered as native applications for [blah-blah-blah]. A JavaME option is also available, which runs on a wide range of feature phones. Good stuff for the enterprise. Java ME technology helps run the mobile enterprise. I like that. Kinda catchy... Hinkmond

    Read the article

  • EISK&ndash;Employee Info Starter Kit 5.0

    - by Tiago Salgado
    Employee Info Starter Kit is an open source project that is highly influenced by the concept ‘Pareto Principle’ or 80-20 rule, where it is targeted to enable a web developer to gain 80% productivity with 20% of effort with respect to learning curve and production. It is intended to address different types of real world challenges faced by web application developers when performing common CRUD operations. Using a single database table ‘Employee’, the current release illustrates how to utilize Microsoft ASP.NET 4.0 Web Form Data Controls, Entity Framework 4.0 and Visual Studio 2010 effectively in that context.   More information on codeplex project site.

    Read the article

  • Will dolphins die if I use REST "as CRUD"?

    - by l0l0l0l0l
    Recently I moved to Laravel and I was surprised on how good setting the controllers as RESTful is, it made routes and my code cleaner. I'm kinda new on web development and never used REST before since all my clients' projects are basically CRUD operations. There's any cool buzzword to this "approach" or I'm just stupid for doing it? I don't plan to follow any REST patterns, just to make my life easier and code cleaner. Basicallly just GET/POST, the other ones are not native anyway so (emulated on hidden form value).

    Read the article

  • How to decide whether to implement an operation as Entity operation vs Service operation in Domain Driven Design?

    - by Louis Rhys
    I am reading Evans's Domain Driven Design. The book says that there are entity and there are services. If I were to implement an operation, how to decide whether I should add it as a method on an entity or do it in a service class? e.g. myEntity.DoStuff() or myService.DoStuffOn(myEntity)? Does it depend on whether other entities are involved? If it involves other entities, implement as service operation? But entities can have associations and can traverse it from there too right? Does it depend on stateless or not? But service can also access entities' variable, right? Like in do stuff myService.DoStuffOn, it can have code like if(myEntity.IsX) doSomething(); Which means that it will depend on the state? Or does it depend on complexity? How do you define complex operations?

    Read the article

  • Webcast Series: Accelerate Business-Critical Database Deployments with Oracle Optimized Solutions

    - by ferhat
    Join us for this two-part Webcast series and learn how to safely consolidate business-critical databases and deliver quantifiable benefits to the business: Save up to 75% in operational and acquisition costs Save millions of dollars consolidating legacy infrastructure Leverage best practices from thousands of customer environments Increase end user productivity with 75% faster time to operations and 4x faster throughput   The Oracle Optimized Solution for Oracle Database  provides extensive guidelines for architecting and deploying complete database solutions that deliver superior performance and availability while minimizing cost and risk. Oracle’s world-class engineering teams work together to define these optimal architectures using Oracle's powerful SPARC M-Series and SPARC T-Series servers together with Oracle Solaris and Oracle's SAN, NAS, and flash-based storage to run the industry-leading Oracle Database. Quite simply, the Oracle Optimized Solution for Oracle Database makes it easier for you to deliver and manage business critical database environments that are fast, secure and cost-effective. Available On-Demand PART 1: Why Architecture Matters When Deploying Business-Critical Databases PART 2: How To Consolidate Databases Using Oracle Optimized Solutions   Presented by: Lawrence McIntosh, Principal Enterprise Architect, Oracle Optimized Solutions Ken Kutzer, Principal Product Manager, Infrastructure Solutions, Oracle  

    Read the article

  • It's Time to Chart Your Course with Oracle HCM Applications - Featuring Row Henson

    - by jay.richey
    Total human capital costs average nearly 70% of operating expenses. There's never been more pressure on HR professionals to deliver mission-critical programs to retain rising stars, develop core performers, and cut costs from workforce operations. Join Row Henson, Oracle HCM Fellow, and Scott Ewart, Senior Director of Product Marketing, to find out: What real-world strategies HR practitioners and experts are prioritizing today to optimize their investment in people Why nearly two-thirds of PeopleSoft and E-Business Suite HCM customers have chosen to upgrade to the latest releases and where Oracle's strategic product roadmaps are headed How Fusion HCM will introduce a new standard for work and innovation - not only for the HR professional, but for every single employee and manager in your business Date: January 20th, 2011 at 9:00 PST / 12:00 EST Register now!

    Read the article

  • Sometimes you have to brag on your employer

    - by Mickey Gousset
    A lot of you know me as an Application Lifecycle Management MVP, and a huge proponent of ALM, TFS, and Visual Studio.  For my day job, however, I work for Infront Consulting Group, a System Center consulting and training organization.  I love what I do there, and work closely with Operations Manager, Service Manager, and Orchestrator.  And believe it or not, use a lot of ALM best practices around all of those. Infront was just recognized as a 2012 Microsoft Corporate Account Virtualization Data Center Services Partner of the Year.  This award recognizes a solution partner that has demonstrated leadership and commitment in driving Microsoft virtualization solutions in the Microsoft Corporate Account segment.  I’m very proud of Infront, and all the hard work that everyone here has put into the incredible services we provide, which lead to us winning this award.

    Read the article

  • Implementing a bit shift using AND, NOT, ADD [closed]

    - by fdart17
    I'm implementing a 16-bit left bit shift by r bits, and I only have access to AND, NOT and ADD. There are 3 condition codes, negative, zero and positive, which are set when you use any of these operations. How I went about it was : (1) And the number with 1000 0000 0000 0000 to set condition codes to positive if the most significant bit is 1. (2) Add the number with itself. This shifts bits one to the left. (3) If the MSB was 1, add 1 to the result. (4) Loop threw (1)-(3) r times. I'm wondering if anyone has any hints to some more efficient methods? Thanks!

    Read the article

  • GLOBALFOUNDRIES Accelerates Innovation while Protecting IP with AutoVue for Agile

    - by Celine Beck
    GLOBALFOUNDRIES is a full-service semiconductor foundry with a global footprint. Launched in March 2009, the company quickly grew to be the second-largest foundry in the world, providing a unique combination of advanced technology and manufacturing to more than 160 customers. With operations in Singapore, Germany, and the United States, GLOBALFOUNDRIES is the only foundry that offers the flexibility of having secure manufacturing centers that span three continents.We sat down with Kishan Shah, Manager of PLM Practice at GLOBALFOUNDRIES so that he can explain how Oracle AutoVue integrated with Oracle Agile PLM supports the company’s mission of “turning sand into gold” ; enabling collaborative design-for-manufacturing and fostering innovation, all while protecting critical intellectual property.You can watch the video interview by clicking here. A customer success story is also available on Oracle’s website. 

    Read the article

  • Why should I adopt MVC?

    - by Andrew
    I decided to get my hands wet and got the YII framework for PHP. I created my first application, then created new controller, model and view. Connected to database, got my record passed from controller to the view and printed the hello world. I am confused now. If I have to do the same thing for each page, this seems like a nightmare to me. In each controller I have to do a lot of same operations - declare variables, and pass them to views. I also need to create models for each page and this is all confusing to me. In my idea the main goal of development is to avoid duplication, but what I see here is lots and lots of duplicated code. Please advise and clarify. Maybe you could suggest a good reading about MVC and coding patterns and best practices in MVC. Because so far, it takes much more time to create a small site using MVC than using my own programming schema.

    Read the article

  • Asynchronous update design/interaction patterns

    - by Andy Waite
    These days many apps support asynchronous updates. For example, if you're looking at a list of widgets and you delete one of them then rather than wait for the roundtrip to the server, the app can hide the one you deleted, giving immediate feedback. The actual deletion on the server will happen in the background. This can be seen in web apps, desktop apps, iOS apps, etc. But what about when the background operation fails. How should you feed back to the user? Should you restore the UI to the pre-deletion state? What about when multiple background operations fail together? Does this behaviour/pattern have a name? Perhaps something based on the Command pattern?

    Read the article

  • Windows in StreamInsight: Hopping vs. Snapshot

    - by Roman Schindlauer
    Three weeks ago, we explained the basic concept of windows in StreamInsight: defining sets of events that serve as arguments for set-based operations, like aggregations. Today, we want to discuss the so-called Hopping Windows and compare them with Snapshot Windows. We will compare these two, because they can serve similar purposes with different behaviors; we will discuss the remaining window type, Count Windows, another time. Hopping (and its syntactic-sugar-sister Tumbling) windows are probably the most straightforward windowing concept in StreamInsight. A hopping window is defined by its length, and the offset from one window to the next. They are aligned with some absolute point on the timeline (which can also be given as a parameter to the window) and create sets of events. The diagram below shows an example of a hopping window with length of 1h and hop size (the offset) of 15 minutes, hence creating overlapping windows:   Two aspects in this diagram are important: Since this window is overlapping, an event can fall into more than one windows. If an (interval) event spans a window boundary, its lifetime will be clipped to the window, before it is passed to the set-based operation. That’s the default and currently only available window input policy. (This should only concern you if you are using a time-sensitive user-defined aggregate or operator.) The set-based operation will be applied to each of these sets, yielding a result. This result is: A single scalar value in case of built-in or user-defined aggregates. A subset of the input payloads, in case of the TopK operator. Arbitrary events, when using a user-defined operator. The timestamps of the result are almost always the ones of the windows. Only the user-defined  operator can create new events with timestamps. (However, even these event lifetimes are subject to the window’s output policy, which is currently always to clip to the window end.) Let’s assume we were calculating the sum over some payload field: var result = from window in source.HoppingWindow( TimeSpan.FromHours(1), TimeSpan.FromMinutes(15), HoppingWindowOutputPolicy.ClipToWindowEnd) select new { avg = window.Avg(e => e.Value) }; Now each window is reflected by one result event:   As you can see, the window definition defines the output frequency. No matter how many or few events we got from the input, this hopping window will produce one result every 15 minutes – except for those windows that do not contain any events at all, because StreamInsight window operations are empty-preserving (more about that another time). The “forced” output for every window can become a performance issue if you have a real-time query with many events in a wide group & apply – let me explain: imagine you have a lot of events that you group by and then aggregate within each group – classical streaming pattern. The hopping window produces a result in each group at exactly the same point in time for all groups, since the window boundaries are aligned with the timeline, not with the event timestamps. This means that the query output will become very bursty, delivering the results of all the groups at the same point in time. This becomes especially obvious if the events are long-lasting, spanning multiple windows each, so that the produced result events do not change their value very often. In such a case, a snapshot window can remedy. Snapshot windows are more difficult to explain than hopping windows: they represent those periods in time, when no event changes occur. In other words, if you mark all event start and and times on your timeline, then you are looking at all snapshot window boundaries:   If your events are never overlapping, the snapshot window will not make much sense. It is commonly used together with timestamp modification, which make it a very powerful tool. Or as Allan Mitchell expressed in in a recent tweet: “I used to look at SnapshotWindow() with disdain. Now she is my mistress, the one I turn to in times of trouble and need”. Let’s look at a simple example: I want to compute the average of some value in my events over the last minute. I don’t want this output be produced at fixed intervals, but at soon as it changes (that’s the true event-driven spirit!). The snapshot window will include all currently active event at each point in time, hence we need to extend our original events’ lifetimes into the future: Applying the Snapshot window on these events, it will appear to be “looking back into the past”: If you look at the result produced in this diagram, you can easily prove that, at each point in time, the current event value represents the average of all original input event within the last minute. Here is the LINQ representation of that query, applying the lifetime extension before the snapshot window: var result = from window in source .AlterEventDuration(e => TimeSpan.FromMinutes(1)) .SnapshotWindow(SnapshotWindowOutputPolicy.Clip) select new { avg = window.Avg(e => e.Value) }; With more complex modifications of the event lifetimes you can achieve many more query patterns. For instance “running totals” by keeping the event start times, but snapping their end times to some fixed time, like the end of the day. Each snapshot then “sees” all events that have happened in the respective time period so far. Regards, The StreamInsight Team

    Read the article

  • Fastest bit-blit in C# ?

    - by AttackingHobo
    I know there is Unity, and XNA that both use C#, but I am don't know what else I could use. The reason I say C# is that the syntax and style is similar to AS3, which I am familiar with, and I want to choose the correct framework to start learning with. What should I use to be able to do the most possible bit-blit(direct pixel copy) objects per frame. EDIT: I should not need to add this, but I am looking for the most possible amount of objects per frame because I am making a few Bullet-Hell SHMUPS. I need thousands and thousands of bullets, particles, and hundreds of enemies on the screen at once. I am looking for a solution to do as many bit-blit operations per frame, I am not looking for a general purpose engine. EDIT2: I want bit-blitting because I do not want to exclude people who have lower end video cards but a fast processor from playing my games.

    Read the article

  • CPU Usage in Very Large Coherence Clusters

    - by jpurdy
    When sizing Coherence installations, one of the complicating factors is that these installations (by their very nature) tend to be application-specific, with some being large, memory-intensive caches, with others acting as I/O-intensive transaction-processing platforms, and still others performing CPU-intensive calculations across the data grid. Regardless of the primary resource requirements, Coherence sizing calculations are inherently empirical, in that there are so many permutations that a simple spreadsheet approach to sizing is rarely optimal (though it can provide a good starting estimate). So we typically recommend measuring actual resource usage (primarily CPU cycles, network bandwidth and memory) at a given load, and then extrapolating from those measurements. Of course there may be multiple types of load, and these may have varying degrees of correlation -- for example, an increased request rate may drive up the number of objects "pinned" in memory at any point, but the increase may be less than linear if those objects are naturally shared by concurrent requests. But for most reasonably-designed applications, a linear resource model will be reasonably accurate for most levels of scale. However, at extreme scale, sizing becomes a bit more complicated as certain cluster management operations -- while very infrequent -- become increasingly critical. This is because certain operations do not naturally tend to scale out. In a small cluster, sizing is primarily driven by the request rate, required cache size, or other application-driven metrics. In larger clusters (e.g. those with hundreds of cluster members), certain infrastructure tasks become intensive, in particular those related to members joining and leaving the cluster, such as introducing new cluster members to the rest of the cluster, or publishing the location of partitions during rebalancing. These tasks have a strong tendency to require all updates to be routed via a single member for the sake of cluster stability and data integrity. Fortunately that member is dynamically assigned in Coherence, so it is not a single point of failure, but it may still become a single point of bottleneck (until the cluster finishes its reconfiguration, at which point this member will have a similar load to the rest of the members). The most common cause of scaling issues in large clusters is disabling multicast (by configuring well-known addresses, aka WKA). This obviously impacts network usage, but it also has a large impact on CPU usage, primarily since the senior member must directly communicate certain messages with every other cluster member, and this communication requires significant CPU time. In particular, the need to notify the rest of the cluster about membership changes and corresponding partition reassignments adds stress to the senior member. Given that portions of the network stack may tend to be single-threaded (both in Coherence and the underlying OS), this may be even more problematic on servers with poor single-threaded performance. As a result of this, some extremely large clusters may be configured with a smaller number of partitions than ideal. This results in the size of each partition being increased. When a cache server fails, the other servers will use their fractional backups to recover the state of that server (and take over responsibility for their backed-up portion of that state). The finest granularity of this recovery is a single partition, and the single service thread can not accept new requests during this recovery. Ordinarily, recovery is practically instantaneous (it is roughly equivalent to the time required to iterate over a set of backup backing map entries and move them to the primary backing map in the same JVM). But certain factors can increase this duration drastically (to several seconds): large partitions, sufficiently slow single-threaded CPU performance, many or expensive indexes to rebuild, etc. The solution of course is to mitigate each of those factors but in many cases this may be challenging. Larger clusters also lead to the temptation to place more load on the available hardware resources, spreading CPU resources thin. As an example, while we've long been aware of how garbage collection can cause significant pauses, it usually isn't viewed as a major consumer of CPU (in terms of overall system throughput). Typically, the use of a concurrent collector allows greater responsiveness by minimizing pause times, at the cost of reducing system throughput. However, at a recent engagement, we were forced to turn off the concurrent collector and use a traditional parallel "stop the world" collector to reduce CPU usage to an acceptable level. In summary, there are some less obvious factors that may result in excessive CPU consumption in a larger cluster, so it is even more critical to test at full scale, even though allocating sufficient hardware may often be much more difficult for these large clusters.

    Read the article

  • Access Control Management Tool ACM.exe

    - by kaleidoscope
    The Access Control Management Tool (Acm.exe) is a command-line tool you can use to perform management operations (CREATE, UPDATE, GET, GET ALL, and DELETE) on the AppFabric Access Control entities (scopes, issuers, token policies, and rules). Basic Syntax The command line for Acm.exe follows the basic pattern of verb-noun. For example: acm.exe <command> <resource> [-option:<option value>] This tool will automatically generate random keys, which helps ensure that they can't easily be guessed by an attacker. Note that ACM.EXE is a thin wrapper around a REST Web Service (the AC management service). That helps to remember the commands it accepts, which are the typical resource management commands for a REST service: · Get(All) · Create · Update · Delete ACM.EXE.config file can be used to configure Host, Service and the Management key for a Service Namespace. Geeta, G

    Read the article

  • Getting started with Team Foundation Server

    - by joe
    At work, we recently started using Team Foundation Server to manage our source code, i have no idea how to use this system. I do not know even know how to check source code in and out. Does anyone know of a step-by-step tutorial on how to work with TFS? Just for basic operations e.g. get latest version, upload your changes, etc. I am accessing it from Visual Studio 2010. I also have access to the TFS web interface.

    Read the article

  • Other SCOM users at SQLSaturday #65 Vancouver?

    - by merrillaldrich
    After a little hair-graying fun around passport renewal and family logistics, it looks like I'll be at the Vancouver SQLSaturday ! I am pumped. (I was entirely convinced they would call it "SQLSaturd' eh?" and I'm frankly a little disappointed about the name... :-) I'm on the tail end of a three-month deployment of System Center Operations Manager with the SQL management pack - if you are a DBA and SCOM user, too, I'd love to meet you and talk shop at the SQLSaturday event. Please drop me a line...(read more)

    Read the article

  • What Counts For a DBA: Fitness

    - by Louis Davidson
    If you know me, you can probably guess that physical exercise is not really my thing. There was a time in my past when it a larger part of my life, but even then never in the same sort of passionate way as a number of our SQL friends.  For me, I find that mental exercise satisfies what I believe to be the same inner need that drives people to run farther than I like to drive on most Saturday mornings, and it is certainly just as addictive. Mental fitness shares many common traits with physical fitness, especially the need to attain it through repetitive training. I only wish that mental training burned off a bacon cheeseburger in the same manner as does jogging around a dewy park on Saturday morning. In physical training, there are at least two goals, the first of which is to be physically able to do a task. The second is to train the brain to perform the task without thinking too hard about it. No matter how long it has been since you last rode a bike, you will be almost certainly be able to hop on and start riding without thinking about the process of pedaling or balancing. If you’ve never ridden a bike, you could be a physics professor /Olympic athlete and still crash the first few times you try, even though you are as strong as an ox and your knowledge of the physics of bicycle riding makes the concept child’s play. For programming tasks, the process is very similar. As a DBA, you will come to know intuitively how to backup, optimize, and secure database systems. As a data programmer, you will work to instinctively use the clauses of Transact-SQL DML so that, when you need to group data three ways (and not four), you will know to use the GROUP BY clause with GROUPING SETS without resorting to a search engine.  You have the skill. Making it naturally then requires repetition and experience is the primary requirement, not just simply learning about a topic. The hardest part of being really good at something is this difference between knowledge and skill. I have recently taken several informative training classes with Kimball University on data warehousing and ETL. Now I have a lot more knowledge about designing data warehouses than before. I have also done a good bit of data warehouse designing of late and have started to improve to some level of proficiency with the theory. Yet, for all of this head knowledge, it is still a struggle to take what I have learned and apply it to the designs I am working on.  Data warehousing is still a task that is not yet deeply ingrained in my brain muscle memory. On the other hand, relational database design is something that no matter how much or how little I may get to do it, I am comfortable doing it. I have done it as a profession now for well over a decade, I teach classes on it, and I also have done (and continue to do) a lot of mental training beyond the work day. Sometimes the training is just basic education, some reading blogs and attending sessions at PASS events.  My best training comes from spending time working on other people’s design issues in forums (though not nearly as much as I would like to lately). Working through other people’s problems is a great way to exercise your brain on problems with which you’re not immediately familiar. The final bit of exercise I find useful for cultivating mental fitness for a data professional is also probably the nerdiest thing that I will ever suggest you do.  Akin to running in place, the idea is to work through designs in your head. I have designed more than one database system that would revolutionize grocery store operations, sales at my local Target store, the ordering process at Amazon, and ways to improve Disney World operations to get me through a line faster (some of which they are starting to implement without any of my help.) Never are the designs truly fleshed out, but enough to work through structures and processes.  On “paper”, I have designed database systems to catalog things as trivial as my Lego creations, rental car companies and my audio and video collections. Once I get the database designed mentally, sometimes I will create the database, add some data (often using Red-Gate’s Data Generator), and write a few queries to see if a concept was realistic, but I will rarely fully flesh out the database since I have no desire to do any user interface programming anymore.  The mental training allows me to keep in practice for when the time comes to do the work I love the most for real…even if I have been spending most of my work time lately building data warehouses.  If you are really strong of mind and body, perhaps you can mix a mental run with a physical run; though don’t run off of a cliff while contemplating how you might design a database to catalog the trees on a mountain…that would be contradictory to the purpose of both types of exercise.

    Read the article

  • Oracle NoSQL Database Exceeds 1 Million Mixed YCSB Ops/Sec

    - by Charles Lamb
    We ran a set of YCSB performance tests on Oracle NoSQL Database using SSD cards and Intel Xeon E5-2690 CPUs with the goal of achieving 1M mixed ops/sec on a 95% read / 5% update workload. We used the standard YCSB parameters: 13 byte keys and 1KB data size (1,102 bytes after serialization). The maximum database size was 2 billion records, or approximately 2 TB of data. We sized the shards to ensure that this was not an "in-memory" test (i.e. the data portion of the B-Trees did not fit into memory). All updates were durable and used the "simple majority" replica ack policy, effectively 'committing to the network'. All read operations used the Consistency.NONE_REQUIRED parameter allowing reads to be performed on any replica. In the past we have achieved 100K ops/sec using SSD cards on a single shard cluster (replication factor 3) so for this test we used 10 shards on 15 Storage Nodes with each SN carrying 2 Rep Nodes and each RN assigned to its own SSD card. After correcting a scaling problem in YCSB, we blew past the 1M ops/sec mark with 8 shards and proceeded to hit 1.2M ops/sec with 10 shards.  Hardware Configuration We used 15 servers, each configured with two 335 GB SSD cards. We did not have homogeneous CPUs across all 15 servers available to us so 12 of the 15 were Xeon E5-2690, 2.9 GHz, 2 sockets, 32 threads, 193 GB RAM, and the other 3 were Xeon E5-2680, 2.7 GHz, 2 sockets, 32 threads, 193 GB RAM.  There might have been some upside in having all 15 machines configured with the faster CPU, but since CPU was not the limiting factor we don't believe the improvement would be significant. The client machines were Xeon X5670, 2.93 GHz, 2 sockets, 24 threads, 96 GB RAM. Although the clients had 96 GB of RAM, neither the NoSQL Database or YCSB clients require anywhere near that amount of memory and the test could have just easily been run with much less. Networking was all 10GigE. YCSB Scaling Problem We made three modifications to the YCSB benchmark. The first was to allow the test to accommodate more than 2 billion records (effectively int's vs long's). To keep the key size constant, we changed the code to use base 32 for the user ids. The second change involved to the way we run the YCSB client in order to make the test itself horizontally scalable.The basic problem has to do with the way the YCSB test creates its Zipfian distribution of keys which is intended to model "real" loads by generating clusters of key collisions. Unfortunately, the percentage of collisions on the most contentious keys remains the same even as the number of keys in the database increases. As we scale up the load, the number of collisions on those keys increases as well, eventually exceeding the capacity of the single server used for a given key.This is not a workload that is realistic or amenable to horizontal scaling. YCSB does provide alternate key distribution algorithms so this is not a shortcoming of YCSB in general. We decided that a better model would be for the key collisions to be limited to a given YCSB client process. That way, as additional YCSB client processes (i.e. additional load) are added, they each maintain the same number of collisions they encounter themselves, but do not increase the number of collisions on a single key in the entire store. We added client processes proportionally to the number of records in the database (and therefore the number of shards). This change to the use of YCSB better models a use case where new groups of users are likely to access either just their own entries, or entries within their own subgroups, rather than all users showing the same interest in a single global collection of keys. If an application finds every user having the same likelihood of wanting to modify a single global key, that application has no real hope of getting horizontal scaling. Finally, we used read/modify/write (also known as "Compare And Set") style updates during the mixed phase. This uses versioned operations to make sure that no updates are lost. This mode of operation provides better application behavior than the way we have typically run YCSB in the past, and is only practical at scale because we eliminated the shared key collision hotspots.It is also a more realistic testing scenario. To reiterate, all updates used a simple majority replica ack policy making them durable. Scalability Results In the table below, the "KVS Size" column is the number of records with the number of shards and the replication factor. Hence, the first row indicates 400m total records in the NoSQL Database (KV Store), 2 shards, and a replication factor of 3. The "Clients" column indicates the number of YCSB client processes. "Threads" is the number of threads per process with the total number of threads. Hence, 90 threads per YCSB process for a total of 360 threads. The client processes were distributed across 10 client machines. Shards KVS Size Clients Mixed (records) Threads OverallThroughput(ops/sec) Read Latencyav/95%/99%(ms) Write Latencyav/95%/99%(ms) 2 400m(2x3) 4 90(360) 302,152 0.76/1/3 3.08/8/35 4 800m(4x3) 8 90(720) 558,569 0.79/1/4 3.82/16/45 8 1600m(8x3) 16 90(1440) 1,028,868 0.85/2/5 4.29/21/51 10 2000m(10x3) 20 90(1800) 1,244,550 0.88/2/6 4.47/23/53

    Read the article

  • How do you test an ICF based connector using Connector Facade Standalone?

    - by Shashidhar Malyala
    Normal 0 false false false EN-US X-NONE X-NONE MicrosoftInternetExplorer4 /* Style Definitions */ table.MsoNormalTable {mso-style-name:"Table Normal"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-priority:99; mso-style-qformat:yes; mso-style-parent:""; mso-padding-alt:0in 5.4pt 0in 5.4pt; mso-para-margin-top:0in; mso-para-margin-right:0in; mso-para-margin-bottom:10.0pt; mso-para-margin-left:0in; line-height:115%; mso-pagination:widow-orphan; font-size:11.0pt; font-family:"Calibri","sans-serif"; mso-ascii-font-family:Calibri; mso-ascii-theme-font:minor-latin; mso-fareast-font-family:"Times New Roman"; mso-fareast-theme-font:minor-fareast; mso-hansi-font-family:Calibri; mso-hansi-theme-font:minor-latin; mso-bidi-font-family:"Times New Roman"; mso-bidi-theme-font:minor-bidi;} The following code helps in writing a standalone java program to test an ICF based connector. The sample code in this example takes into account an ICF based flatfile connector. It is possible to test various operations like create, update, delete, search etc... It is also possible to set values to the connector configuration parameters, add/remove attributes and their values. public class FlatFile { private static final java.lang.String BUNDLE_NAME = "<PACKAGE_NAME>"; //Ex: org.info.icf.flatfile private static final java.lang.String BUNDLE_VERSION = "1.0.0"; private static final java.lang.String CONNECTOR_NAME = "org.info.icf.flatfile.FlatFileConnector"; // Name of connector class i.e. the class implemting the connector SPI operations public ConnectorFacade getFacade() throws IOException { ConnectorInfoManagerFactory fact = ConnectorInfoManagerFactory .getInstance(); File bundleDirectory = new File("<BUNDLE_LOCATION>"); //Ex: /usr/oracle/connector_bundles/ URL url = IOUtil.makeURL(bundleDirectory, "org.info.icf.flatfile-1.0.0.jar"); ConnectorInfoManager manager = fact.getLocalManager(url); ConnectorKey key = new ConnectorKey(BUNDLE_NAME, BUNDLE_VERSION, CONNECTOR_NAME); ConnectorInfo info = manager.findConnectorInfo(key); // From the ConnectorInfo object, create the default APIConfiguration. APIConfiguration apiConfig = info.createDefaultAPIConfiguration(); // From the default APIConfiguration, retrieve the // ConfigurationProperties. ConfigurationProperties properties = apiConfig .getConfigurationProperties(); // Print out what the properties are (not necessary) List propertyNames = properties.getPropertyNames(); for (String propName : propertyNames) { ConfigurationProperty prop = properties.getProperty(propName); System.out.println("Property Name: " + prop.getName() + "\tProperty Type: " + prop.getType()); } properties .setPropertyValue("fileLocation", "/usr/oracle/accounts.csv"); // Set all of the ConfigurationProperties needed by the connector. // properties.setPropertyValue("host", FOOBAR_HOST); // properties.setPropertyValue("adminName", FOOBAR_ADMIN); // properties.setPropertyValue("adminPassword", FOOBAR_PASSWORD); // properties.setPropertyValue("useSSL", false); // Use the ConnectorFacadeFactory's newInstance() method to get a new // connector. ConnectorFacade connFacade = ConnectorFacadeFactory.getInstance() .newInstance(apiConfig); // Make sure we have set up the Configuration properly connFacade.validate(); return connFacade; } public static void main(String[] args) throws IOException { FlatFile file = new FlatFile(); ConnectorFacade cfac = file.getFacade(); Set attrSet = new HashSet(); attrSet.add(AttributeBuilder.build(Name.NAME, "Test01")); attrSet.add(AttributeBuilder.build("FIRST_NAME", "Test_First")); attrSet.add(AttributeBuilder.build("LAST_NAME", "Test_Last")); //Create Uid uid = cfac.create(ObjectClass.ACCOUNT, attrSet, null); //Delete Uid uidP = new Uid("Test01"); cfac.delete(ObjectClass.ACCOUNT, uidP, null); } }

    Read the article

< Previous Page | 46 47 48 49 50 51 52 53 54 55 56 57  | Next Page >