Beruflich Dokumente
Kultur Dokumente
Neo Technology
Summary
Businesses are struggling to cope with an explosion of data, growing at 40% per year (McKinsey Global Institute). The business need to leverage complex and connected data is driving the adoption of scalable, high-performance NOSQL databases to expand and enhance their data management strategies. Why NOSQL? What is missing from traditional relational databases that would create a need for a new breed of database solutions? The answer lies in the types of data being managed, the volume of information available today, and the relationships between individual records. Ironically relational databases were not designed to navigate the types of relationships that bring enormous value to many of todays enterprise applications. A number of NOSQL databases have emerged over the past decade, not only to handle the terabytes and petabytes of data generated by enterprises and consumers, but also the types of data created. NOSQL databases contain structured, semi-structured and unstructured data such as text, audio, video, social network feeds, Web logs and more that cannot be managed in traditional databases. However, the first NOSQL databases were designed for high-volume Web properties, such as Amazon and Google, who needed to store a lot of data but were not necessarily designed for the high-transaction, business-critical needs of todays enterprise applications. After meeting with hundreds of developers, architects and CIOs at Fortune 500 companies, a few key requirements emerge as enterprise needs for a NOSQL database. Not surprisingly, many of them are characteristics that have been proven for years by traditional enterprise-strength databases. A NOSQL database should:
Enable high-performance queries on complex, connected data Easily represent the complex, connected data stored in todays applications Demonstrate mature support for end-to-end transactions Ensure enterprise-grade durability Provide native support for Java, the most widely used platform in todays enterprises
Todays NOSQL databases include Key-Value stores, Column Family databases, Document databases, and Graph databases. Each type stores data in a different way and is designed with a specific purpose in mind. The type of NOSQL database you choose depends on what type of data you need to store and how you want to access it. A graph database, for instance, models real world connections better than other NOSQL databases. It can support todays complex and connected data types, and scale to billions of nodes and relationships. It is ideally suited for any application where knowledge is obtained by relationships. An enterprise delivering modern applications needs a database that can manage todays complex and connected data while still delivering the enterprise strength, transactions and durability IT departments have counted on for years.
Page 2
Web world, yet few of the NOSQL databases available today can meet the demands of the enterprise.
Column Family Databases Store Large Amounts of Data, But Not Rich Data
A Column Family database can handle semi-structured data, because in theory every row can have its own schema. It has few mandatory attributes and few optional attributes. Its a powerful way to capture semi-structured data, but often sacrifices consistency for availability. Column Family databases can accommodate huge amounts of data, with basic organization to help sift through the information. Writes are faster than reads, so one natural niche is real-time data analysis. Logging real-time events is a perfect use case or any time when you need random, real-time read/write access to your Big Data. Googles Big Table was built on a Column Family 2011 Neo Technology Page 5
database. Apache Cassandra is another example, which was originally developed for Facebook to store billions of columns per row. However, it is unable to support unstructured data types or query end-to-end transactions.
Document Databases Store Multiple Data Types, But Lack Transaction Support
A document database contains a collection of key-value pairs stored in documents. While it is good at storing documents, it was not designed with enterprise-strength transactions and durability in mind. Document databases are the most flexible of the key-value style stores, perfect for storing a large collection of unrelated, discrete documents. A good application would be a product catalog, which can display individual items, but not related items. You can see whats available for purchase, but you cannot connect it to what other products like customers bought after they viewed it. MongoDB and CouchDB are examples of document databases.
A graph database accesses data using traversals. A traversal is how you query a graph, navigating from starting nodes to related nodes according to an algorithm, finding answers to questions like what music do my friends like, that I dont yet own? or if this power supply goes down, what Web services are affected? Using traversals, you can easily conduct end-toend transactions that represent real user actions.
Page 6
Neo4j is the leading graph database available today, and includes enterprise-ready support for complex and connected data, transactions, durability, and Java. To summarize, there are four categories of NOSQL databases: Key-Value stores, Column Family databases, Document databases, and Graph databases. The type of NOSQL database you choose depends on what type of data you need to store, its size and complexity. Each was designed to handle todays data that could not be successfully managed in traditional databases. Key-Value stores and Column Family databases handle size very well, but when it comes to complexity, Document databases and Graph databases are better suited to represent rich data. Graph databases are ideal for applications with complex and connected data.
Figure 2: NOSQL Databases are designed for the size and complexity of todays data.
Page 8
Page 9
About Neo Technology Neo Technology is the NOSQL database company for the enterprise. Proven by eight years of 24/7 production use, Neo4j is a fully transactional database which enables customers, including Adobe and Cisco, to tackle complex data problems. Neo Technology is a privately held company funded by Fidelity Growth Partners Europe, Sunstone Capital and Conor Venture Partners, and is headquartered in Menlo Park, CA. For more information, visit www.neotechnology.com.
World Headquarters Neo Technology 1370 Willow Road Menlo Park, CA 94025 USA U.S. & Canada: 1 (855) 636-4532 European Lab Neo Technology Anckargripsgatan 3 211 19 Malmo, Sweden Tel: 0808-189 0493
www.neotechnology.com
Copyright 2011 Neo Technology. All rights reserved.