`

Open Source NoSQL Databases

    博客分类:
  • JAVA
阅读更多

转载自:http://java.dzone.com/articles/open-source-nosql-databases?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+javalobby%2Ffrontpage+%28Javalobby+%2F+Java+Zone%29

 

For almost a year now, the idea of "NoSQL " has been spreading due to the demand for relational database alternatives.  Maybe the biggest motivation behind NoSQL is scalability.  Relational databases don't lend themselves well to the kind of horizontal scalability that's required for large-scale social networking or cloud applications, and ORMs can abstract away impedance mismatch only so much.  In other cases, companies just don't need as many of the complex features and rigid schemas provided by relational databases.  Most people are not suggesting that we all ditch the RDBMS, in fact, many companies don't really need to switch.  Relational databases will probably be necessary for many applications years and years from now.  In essence, NoSQL is a movement that aims to reexamine the way we structure data and draw attention to innovation in hopes of finding the solution to the next generation's data persistence problems.  

Here are some of the better known open source data stores/models labeled as "NoSQL":

CouchDB - Document Store

  • Maps keys to data
  • It's a JSON object
  • You can upload functions to index data and then you can call those functions
  • Has a very simple REST interface
  • Provides an innovative replication strategy - nodes can reconnect, sync, and reconcile differences after being disconnected for long periods of time  
  • Enables new distributed types of applications and data


MongoDB - Document Store

  • Free-form key-value-like data store with good performance
  • Powerful, expansive query model
  • Usability rivals that of Redis
  • Good for complex data storage needs.
  • No production-quality sharding capabilities


Neo4j - GraphDB

  • Disk-based
  • Has a restricted, single-threaded model for graph traversal
  • Has optional layers to expose Neo4j as an RDF store
  • Can handle graphs of several billion nodes, relationships, or properties on a single machine
  • Released under a dual license - free for non-commercial use 


Apache Hbase - Wide Column Store/Column Families

  • Built on top of Hadoop, which has functionality similar to Google's GFS and MapReduce systems
  • Hadoop's HDFS provides a mechanism that reliably stores and organizes large amounts of data
  • Random access performance is on par with MySQL
  • Has a high performance Thrift gateway
  • Cascading source and sink modules


Redis
- Key Value/Tuple Store

  • Provides a rich API and does more operations in memory, using disk only periodically.
  • It's extremely fast
  • Lets you append a value to the end of a list of items that's already been stored on a key.
  • Has atomic operations, making it a best-of-breed tally server.


Memecached - Key Value/Tuple Store

  • High-performance, distributed memory object caching
  • Free and open source
  • Generic and agnostic to the objects/strings it caches
  • It's all in-memory data
  • Simple yet elegant design enables easy development and deployment
  • Language neutral caching scheme.
  • Most of the large properties on the web are using it now, except for Microsoft


Project Voldemort - Eventually Consistent Key Value Store

  • Used by LinkedIn
  • Handles server failure transparently
  • Pluggable serialization supports rich keys and values including lists and tuples with named fields
  • Supports common serialization frameworks including Protocol Buffers, Thrift, and Java Serialization
  • Data items are versioned
  • Supports pluggable data placement strategies
  • Memory caching and the storage system are combined


Tokyo Cabinet and Tokyo Tyrant - Key Value/Tuple Store

  • Supports hashtable mode, b-tree mode, and table mode
  • It's fast and straightforward
  • Good for small to medium-sized amounts of data that require rapid updating and can be easily modeled in terms of keys and values


Cassandra
- Wide Column Store/Column Families

  • First developed by Facebook
  • SuperColumns can turn a simple key-value architecture into an architecture that handles sorted lists, based on an index specified by the user.
  • Can scale from one node to several thousand nodes clustered in different data centers.
  • Can be tuned for more consistency or availability
  • Smooth node replacement if one goes down

____

Some other well known NoSQL-style data stores that are closed source include Google BigTable and Amazon SimpleDBGigaSpaces is a popular space-based Grid solution that has NoSQL qualities.

Check out this informative post on NoSQL patterns.

分享到:
评论

相关推荐

    How_to_Deploy_Open_Source_Databases.pdf

    总的来说,这份白皮书旨在帮助读者快速掌握如何使用ClusterControl部署和管理各种开源数据库,无论是关系型数据库还是NoSQL数据库,都能找到适用的指南。它不仅涵盖了基础部署,还包括了性能优化和高级特性,是IT...

    Apress.Introducing.Spring.Framework.A.Primer.

    The Spring Framework is an open source application framework that can be used with any Java application. After reading this book, you will know how to do the following: • Use the Spring Framework ...

    分布式数据库综述

    These are commercial products, open source projects, and research technologies that support massive data storage (petabyte+) using an architecture that distributes storage and processing across ...

    Learning PostgreSQL 10

    Be introduced to the concept of relational databases and PostgreSQL, one of the fastest growing open source databases in the world Learn client-side and server-side programming in PostgreSQL, and ...

    HBase.High.Performance.Cookbook.epub

    It is an open source, disturbed, versioned, column-oriented store and is written in Java to provide random real-time access to big Data. We'll start off by ensuring you have a solid understanding ...

    python-programmers-artificial-intelligence-studies

    The professional programmer’s Deitel guide to Python...Open-source libraries: NumPy, pandas, Matplotlib, Seaborn, Folium, SciPy, NLTK, TextBlob, spaCy, Textatistic, Tweepy, scikit-learn, Keras and more.

    藏经阁-Nobody puts Spark in the Conta.pdf

    24. SQL / NoSQL Databases:SQL / NoSQL Databases是一种数据库技术,提供了数据存储和查询等功能。 25. Modern App Components:Modern App Components是一种现代应用程序组件,提供了一个灵活的解决方案来构建...

    learning rabbitmq

    cloud-based software architectures, enterprise application integration, and relational and NoSQL databases. Martin is one of the leaders of the Bulgarian Java Users group (BGJUG), a regular speaker ...

    Scala: Guide for Data Science Professionals

    • Read, clean, transform, and write data to both SQL and NoSQL databases • Create Scala web applications that couple with JavaScript libraries such as D3 to create compelling interactive ...

    Beginning Hibernate, 3rd Edition

    Beginning Hibernate, Third Edition is ideal if you’re experienced in Java with databases (the traditional, or «connected,» approach), but new to open-source, lightweight Hibernate, a leading object...

    2024年MAD(机器学习、人工智能和数据)产业格局(2).pdf

    - **Open Source Infrastructure**:开源基础设施,指的是用于构建、部署和管理软件应用的开源工具和平台。在AI领域,开源技术因其灵活性和社区支持而受到广泛欢迎。 ##### 八、数据管理和分析 - **Data Management...

    BobBuilder_app

    NoSQL: A grass roots movement to replace relational databases with more relevant and specialized storage systems to the application in question. These systems are usually designed for performance. ...

    spring-boot-reference.pdf

    30. Working with NoSQL Technologies 30.1. Redis 30.1.1. Connecting to Redis 30.2. MongoDB 30.2.1. Connecting to a MongoDB Database 30.2.2. MongoTemplate 30.2.3. Spring Data MongoDB Repositories 30.2.4...

Global site tag (gtag.js) - Google Analytics