The document discusses managing online customer profiles with Oracle NoSQL Database. It describes the need for flexible and scalable customer profile data to enable personalization, recommendations, and other business functions. Oracle NoSQL Database is presented as a solution to store evolving customer profile data across many fields in a distributed, globally accessible way to support business needs. The document provides an overview of implementing customer profiles using Oracle NoSQL Database's JSON schemas and AVRO serialization.
Purchases over the web can include 100s of steps, with a wealth of personalized data, dynamic content and navigation. Web sites can capture information relative to this customer – their product ratings, comments, shipping and packaging preferences, their lists. It is a much richer environment – how long did they stay, where did they look, what did they compare, how hard was it to get to the product. All of this information informs the store about how they are doing and can be re-used the next time the customer visits. Yes, you still need to capture the contents of the shopping cart, but that is only one aspect, albeit an important one, of the web retail experience.
JSON == JavaScript Object NotationAn DBA might think about a schema this way – specified up front, but flexible.
JSON == JavaScript Object Notation
An application developer might think about a schema this way – specific to his application.
This is Oracle ATG Web Customer Service. Using MySQL today. Considering Oracle NoSQL Database. This example is would fall into the Web Scale Transaction Processing use case. Company/BackgroundWeb Commerce Customer Service enables call center and online chat routing and dispatch functionality Improved customer service, administration as well as product up-sell and cross-sellChallenges/OpportunitiesUnstructured and variable data record formats per customerLow latency, transactional customer profile lookup and sharing with call center personnelScalability to large customer service call centersHighly available data store, world-wide distributed accessSolutionOracle NoSQL Database for customer profile data capture and accessTechnical BenefitsHighly scalable and available databaseFlexible data formatsTransactional key-value accessGeographically distributed accessKey ProductsOracle NOSQL DatabaseWhy OracleHighly Scalable and AvailableFlexible data formatsTransactional key-value accessDistributed accessFuture PlansBuild and scale out per roadmap
This is Disney. They are currently evaluating Oracle NoSQL Database for their “Next Generation Experience” application. The NoSQL Database would contain pointers to information that remains in peripheral systems and all of the information necessary to drive event scheduling, “next generation experience” events and promotions and well as relevant entitlements (aka package perks and loyalty rewards). This example could be seen as Web Scale Transaction Processing and/or Web Scale Personalization use cases, based on which aspect is the area of focus; a) capturing incoming events to be recorded in the user profile, or b) using the profile information to generate activities and scheduling. Company/BackgroundLarge, world wide, multiple asset entertainment companyCompeting for leisure revenue and customer loyalty through enhanced customer experienceChallenges/OpportunitiesSpecial-purpose LOB and asset-specific applications and database repositoriesNeed a consolidated repository of customer engagements (both future and past) and entitlements Repository should drive customer experience and scheduling of activities while visiting an entertainment facilityRepository must retain decades of information, in variable and unstructured formatsRepository must support dynamic association of customers and events (friends, family, fellow travelers)SolutionOracle NoSQL Database for central repository of data and data platform for customer activity scheduling and “next generation experience” eventsOracle Database for financial data, reservation and property managementKey ProductsOracle NOSQL DatabaseOracle DatabaseWhy OracleSimple, flexible Key-Value data formatReliable, ACID TransactionsEasy installation and AdministrationScalability over timeLong term technology commitment and roadmapEnterprise SupportFuture PlansGradual rollout and adoption across customer experiences and entertainment assets and properties
Oracle NoSQL Database provides both scalability – the ability to increase the size and throughput of a cluster AND predictable latency. We conducted this benchmark last year, working directly with our technology partners like Intel and Cisco. This graph summarizes the results of running a YCSB (Yahoo Cloud Services Benchmark) on Oracle NoSQL Database over a set of increasingly sized NoSQL Database clusters. The cluster started at 6 storage nodes (2 shards or partitions with 3 replicas on each) and grew to 12, 24 and 30 storage nodes, running on Intel’s Xeon E5-2690s, running a 95% read, 5% update workload. As you can see, as we added hardware (storage nodes) to the system, we were able to get a linear increase in throughput, while still maintaining very low latency. Adding HW increases throughput and capacity, without adding significant latency to the operations. At the end of the day, why is this important? Because it shows that a) Oracle NoSQL Database can grow as your business, storage and processing needs grow, and b) that increasing your hardware delivers the results that you would expect – more throughput without increased latency. Incidentally, this is more throughput that most companies need, running on a relatively small cluster. For example, Twitter does ~150K API calls per second.
What are we showing here: Growing a cluster by 50%. 12 nodes, 144 disks -> 18 nodes, 216 disks. Full rack BDA. (implies moving 50% of the data)Running YCSB during the expansion Oracle NoSQL DB is online while expandingOracle NoSQL DB performs migration in the background. Almost no impact (less than 10%) to latency and throughput. (1-40% completion)New hardware utilized immediately for reads/writes, resulting in increased throughput and decreased latency. (40-100% completion)Adding 50% more threads, delivers 50% more throughput with no increased latency. (last bar)Minimal impact to running system + New hardware used ASAP Adherence to SLAs + More throughput and lower latency IT and CIO
Oracle NoSQL Database has a unique place in the NoSQL/Big Data technology eco-system. Both because of it’s technical strength and the fact that it’s provided by Oracle.Today there is a lot of focus on “feeds and speeds” of the various NoSQL databases. In a nutshell, the storage model used (columnar, key-value, document and graph), what specific features it has and it’s relative performance. At the end of the day, those features are not that crucial. They may have some short term importance and impact. However, in the longer term storage models converge (and become irrelevant), features become standardized and common, while performance varies depending on the product, the year and the particular operation. What really matters are the capabilities and aspects of the product that affect the long term use of the product. Aspects like Integration, Support and Predictable performance. <Talk about that> Other NoSQL products don’t really address comprehensive integration (with Oracle products). No other NoSQL product company can claim 2-3 decades of widespread reliable Enterprise deployment experience. Understanding not just performance, but predictable performance is needed in order to really operate in a production environment. Predictable performance is crucial for webscale applications – the 1% Amazon example is a great use case for that). Critical product evaluation should take into consideration Integrated Solutions (not silos of data), Enterprise Reliability & Support track record (2-3 decades of experience in hundreds of thousands of production deployments) and understanding the requirements of enterprise application deployments: not just performance, but predictable performance.