Spring Data MongoDB 1.0.0.M5 發布
Spring Data MongoDB 是 Spring Data 的一個用來處理 MongoDB 的子模塊。該模塊日前發布了 1.0 的第五個里程碑版本。相關鏈接地址:
Downloads | JavaDocs | Reference Documentation
該版本主要是大量的 bug 修復和一些小改動,詳情請看:changelog
Spring Data 項目的目的是為了簡化構建基于 Spring 框架應用的數據訪問計數,包括非關系數據庫、Map-Reduce 框架、云數據服務等等;另外也包含對關系數據庫的訪問支持。
Spring Data 包含多個子項目:
Category | Sub-project | |
Relational Databases | JPA | Spring Data JPA - Simplifies the development of creating a JPA-based data access layer |
JDBC Extensions | Support for Oracle RAC, Advanced Queuing, and Advanced datatypes. Future support for QueryDSL. | |
Big Data | Hadoop | The Hadoop Apache project is an open-source implementation of frameworks for reliable, scalable, distributed computing and data storage. |
Data-Grid | Gemfire | GemFire is a distributed data management platform providing dynamic scalability, high performance, and database-like persistence. It blends advanced techniques like replication, partitioning, data-aware routing, and continuous querying. |
Key Value Stores | Redis | Redis is an open source, advanced key-value store. |
Riak | Riak is a Dynamo-inspired key/value store with a distributed database network platform that makes storing and retrieving data simple, safe and low-cost. | |
Document Stores | MongoDB | MongoDB is a scalable, high-performance, open source, document-oriented database. |
CouchDB (planned) | Apache CouchDB is a document-oriented database that can be queried and indexed in a MapReduce fashion using JavaScript. | |
Graph Databases | Neo4j | Neo4j is a graph database, a fully transactional database that stores data structured as graphs. |
Column Stores | HBase (planned) | HBase is an open-source, distributed, versioned, column-oriented store modeled after Google' Bigtable |
Cassandra (planned) | The Apache Cassandra Project develops a highly scalable second-generation distributed database, bringing together Dynamo's fully distributed design and Bigtable's ColumnFamily-based data model. | |
Blob-Stores | Blob | Provides access to blob stores such as Amazon Simple Storage Services (S3) as well as from other vendors such as Rackspace and Azure. |
Common Infrastructure | Mapping | Provides a database unified object mapping framework that is portable across different databases for Java and Grails. |
Commons | Provides shared infrastructure for use across various data access projects. Support for cross-database persistence is located here | |
MongoDB是一個介于關系數據庫和非關系數據庫之間的產品,是非關系數據庫當中功能最豐富,最像關系數據庫的。他支持的數據結構非常松散,是類似json的bjson格式,因此可以存儲比較復雜的數據類型。 Mongo最大的特點是他支持的查詢語言非常強大,其語法有點類似于面向對象的查詢語言,幾乎可以實現類似關系數據庫單表查詢的絕大部分功能,而且還支持對數據建立索引。
它的特點是高性能、易部署、易使用,存儲數據非常方便。主要功能特性有:
- 面向集合存儲,易存儲對象類型的數據。
- 模式自由。
- 支持動態查詢。
- 支持完全索引,包含內部對象。
- 支持查詢。
- 支持復制和故障恢復。
- 使用高效的二進制數據存儲,包括大型對象(如視頻等)。
- 自動處理碎片,以支持云計算層次的擴展性
- 支持RUBY,PYTHON,JAVA,C++,PHP等多種語言。
- 文件存儲格式為BSON(一種JSON的擴展)
- 可通過網絡訪問
所謂“面向集合”(Collenction-Orented),意思是數據被分組存儲在數據集中,被稱為一個集合(Collenction)。每個 集合在數據庫中都有一個唯一的標識名,并且可以包含無限數目的文檔。集合的概念類似關系型數據庫(RDBMS)里的表(table),不同的是它不需要定 義任何模式(schema)。
模式自由(schema-free),意味著對于存儲在mongodb數據庫中的文件,我們不需要知道它的任何結構定義。如果需要的話,你完全可以把不同結構的文件存儲在同一個數據庫里。
存儲在集合中的文檔,被存儲為鍵-值對的形式。鍵用于唯一標識一個文檔,為字符串類型,而值則可以是各中復雜的文件類型。我們稱這種存儲形式為BSON(Binary Serialized dOcument Format)。
MongoDB服務端可運行在Linux、Windows或OS X平臺,支持32位和64位應用,默認端口為27017。推薦運行在64位平臺,因為MongoDB
在32位模式運行時支持的最大文件尺寸為2GB。
MongoDB把數據存儲在文件中(默認路徑為:/data/db),為提高效率使用內存映射文件進行管理。
</div>