NoSQL
NoSQL (تختصر عادة إلى Not Only SQL[1][2][unreliable source?])، هي قاعدة بيانات توفر آلية لتخزين واسترجاع البيانات that is modeled in means other than the tabular relations المستخدمة في قواعد البيانات العلائقية. Motivations for this approach include simplicity of design, horizontal scaling and finer control over availability. The data structures used by NoSQL databases (e.g. key-value, graph, or document) differ from those used in relational databases, making some operations faster in NoSQL and some faster in relational databases. The particular suitability of a given NoSQL database depends on the problem it must solve.
قواعد بيانات NoSQL تستخدم بشكل متزايد في البيانات الضخمة وتطبيقات real-time web.[3] يطلق على أنظمة NoSQL أيضاً "Not only SQL" للتأكيد على أنها يمكنها أيضاً أن تعدم لغات الاستعلام الشبيهة بSQL-. Many NoSQL stores compromise consistency (in the sense of the CAP theorem) in favor of availability and partition tolerance. Barriers to the greater adoption of NoSQL stores include the use of low-level query languages, the lack of standardized interfaces, and huge investments in existing SQL.[4] Most NoSQL stores lack true ACID transactions, although a few recent systems, such as FairCom c-treeACE, Google Spanner (though technically a NewSQL database) and FoundationDB, have made them central to their designs.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
التاريخ
تطبيقات قواعد بيانات NoSQL
- Column: Accumulo, Cassandra, Druid, HBase, Vertica
- Document: Clusterpoint, Apache CouchDB, Couchbase, MarkLogic, MongoDB
- Key-value: Dynamo, FoundationDB, MemcacheDB, Redis, Riak, FairCom c-treeACE, Aerospike
- Graph: Allegro, Neo4J, InfiniteGraph, OrientDB, Virtuoso, Stardog
- Multimodel Databases: ArangoDB, Alchemy Database, CortexDB
المصطلح | قاعدة البيانات المطابقة |
---|---|
Key-Value Cache | Coherence, eXtreme Scale, GigaSpaces, GemFire, Hazelcast, Infinispan, JBoss Cache, Memcached, Repcached, Terracotta, Velocity |
Key-Value Store | Flare, Keyspace, RAMCloud, SchemaFree, Hyperdex |
Key-Value Store (Eventually-Consistent) | DovetailDB, Dynamo, Riak, Dynomite, MotionDb, Voldemort, SubRecord |
Key-Value Store (Ordered) | Actord, FoundationDB, Lightcloud, Luxio, MemcacheDB, NMDB, Scalaris, TokyoTyrant |
Data-Structures server | Redis |
Tuple Store | Apache River, Coord, GigaSpaces |
Object Database | DB4O, Perst, Shoal, ZopeDB, |
Document Store | Clusterpoint, Couchbase, CouchDB, MarkLogic, MongoDB, XML-databases |
Wide Columnar Store | BigTable, Cassandra, Druid, HBase, Hypertable, KAI, KDI, OpenNeptune, Qbase |
الآداء
نموذج البيانات | الآداء | التدرجية | المرونة | التعقيد | التشغيل |
---|---|---|---|---|---|
Key–Value Store | مرتفع | مرتفع | مرتفع | لا يوجد | متغير (لا يوجد) |
Column-Oriented Store | مرتفع | مرتفع | متوسط | منخفض | اسمي |
Document-Oriented Store | مرتفع | متغير (مرتفع) | مرتفع | منخفض | متغير (منخفض) |
قاعدة بيانات المخططات | متغير | متغير | مرتفع | مرتفع | نظرية المخططات |
قاعدة البيانات العلائقية | متغير | متغير | منخفض | متوسط | الجبر العلائقي |
معالجة البيانات العلائقية
الاستعلامات المتعددة
Caching/Replication/Non-normalized Data
Nesting Data
أمثلة
تخزين الوثائق
المخططات
الاسم | اللغة | هوامش |
---|---|---|
AllegroGraph | SPARQL | RDF GraphStore |
DEX/Sparksee | C++, Java, .NET, Python | High-performance graph database |
FlockDB | Scala | |
IBM DB2 | SPARQL | RDF GraphStore added in DB2 10 |
InfiniteGraph | Java | High-performance, scalable, distributed graph database |
Neo4j | Java | |
OWLIM | Java, SPARQL 1.1 | RDF graph store with reasoning |
OrientDB | Java | |
Sones GraphDB | C# | |
Sqrrl Enterprise | Java | Distributed, real-time graph database featuring cell-level security |
OpenLink Virtuoso | C++, C#, Java, SPARQL | middleware and database engine hybrid |
Stardog | Java, SPARQL | semantic graph database |
Key-value stores
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
KV - eventually consistent
KV - ordered
- Berkeley DB
- FairCom c-treeACE/c-treeRTG
- FoundationDB
- IBM Informix C-ISAM
- InfinityDB
- LMDB
- MemcacheDB
- NDBM
KV - RAM
KV - solid-state drive or rotating disk
- Aerospike
- BigTable
- CDB
- Clusterpoint XML database
- Coherence
- Couchbase Server
- FairCom c-treeACE
- GT.M[6]
- Hibari
- Keyspace
- LevelDB
- LMDB
- MemcacheDB (using Berkeley DB)
- MongoDB
- OpenLink Virtuoso
- Oracle NoSQL Database
- Tarantool
- Tokyo Cabinet
- Tuple space
Object database
- db4o
- GemStone/S
- InterSystems Caché
- JADE
- NeoDatis ODB
- ObjectDatabase++
- ObjectDB
- Objectivity/DB
- ObjectStore
- ODABA
- Perst
- OpenLink Virtuoso
- Versant Object Database
- ZODB
Tabular
Tuple store
- Apache River
- GigaSpaces
- Tarantool
- TIBCO ActiveSpaces
- OpenLink Virtuoso
Triple/quad store (RDF) database
- Apache JENA
- MarkLogic
- Ontotext-OWLIM
- Oracle NoSQL database
- SparkleDB
- Virtuoso Universal Server
- Stardog
Hosted
- Amazon DynamoDB
- Cloudant Data Layer (CouchDB)
- Datastore on Google Appengine
- Freebase
- OpenLink Virtuoso
Multivalue databases
- D3 Pick database
- Extensible Storage Engine (ESE/NT)
- InfinityDB
- InterSystems Caché
- Northgate Information Solutions Reality, the original Pick/MV Database
- OpenQM
- Revelation Software's OpenInsight
- Rocket U2
قاعدة البيانات متعددة النماذج
قاعدة البيانات التصحيحية
قاعدة البيانات الخلوية
انظر أيضاً
- CAP theorem
- Comparison of object database management systems
- Comparison of structured storage software
- Faceted search
- Triplestore
- Distributed cache
- Correlation database
- MultiValue database
المصادر
- ^ "NoSQL (Not Only SQL)".
NoSQL database, also called Not Only SQL
- ^ Martin Fowler. "NosqlDefinition".
many advocates of NoSQL say that it does not mean a "no" to SQL, rather it means Not Only SQL
- ^ "RDBMS dominate the database market, but NoSQL systems are catching up". DB-Engines.com. 21 نوفمبر 2013. Retrieved 24 نوفمبر 2013.
- ^ K. Grolinger, W.A. Higashino, A. Tiwari, M.A.M. Capretz (2013). "Data management in cloud environments: NoSQL and NewSQL data stores" (PDF). JoCCASA, Springer. Retrieved 8 يناير 2014.
{{cite web}}
: CS1 maint: multiple names: authors list (link) - ^ "Riak: An Open Source Scalable Data Store". 28 November 2010. Retrieved 28 November 2010 * OpenLink Virtuoso
- Project Voldemort.
{{cite web}}
: Check date values in:|accessdate=
(help); line feed character in|accessdate=
at position 67 (help)
- Project Voldemort.
- ^ Tweed, Rob; George James (2010). "A Universal NoSQL Engine, Using a Tried and Tested Technology" (PDF). p. 25.
Without exception, the most successful and well-known of the NoSQL databases have been developed from scratch, all within just the last few years. Strangely, it seems that nobody looked around to see whether there were any existing, successfully implemented database technologies that could have provided a sound foundation for meeting Web-scale demands. Had they done so, they might have discovered two products, GT.M and Caché.....*
{{cite web}}
: line feed character in|quote=
at position 82 (help)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
قراءات إضافية
- Pramod Sadalage and Martin Fowler (2012). NoSQL Distilled: A Brief Guide to the Emerging World of Polyglot Persistence. Addison-Wesley. ISBN 0-321-82662-0.
- Dan McCreary & Ann Kelly (2013). Making Sense of NoSQL: A guide for managers and the rest of us. ISBN 9781617291074.
- Christof Strauch (2012). "NoSQL Databases" (PDF).
- Moniruzzaman AB, Hossain SA (2013). "NoSQL Database: New Era of Databases for Big data Analytics - Classification, Characteristics and Comparison".
- Kai Orend (2013). "Analysis and Classification of NoSQL Databases and Evaluation of their Ability to Replace an Object-relational Persistence Layer".
{{cite journal}}
: Cite journal requires|journal=
(help) - Ganesh Krishnan, Sarang Kulkarni, Dharmesh Kirit Dadbhawala. "Method and system for versioned sharing, consolidating and reporting information".
{{cite web}}
: CS1 maint: multiple names: authors list (link) - Sugam Sharma. "A Brief Review on Modern NoSQL Data Models, Handling Big Data".
وصلات خارجية
- Christoph Strauch. "NoSQL whitepaper" (PDF). Hochschule der Medien, Stuttgart.
- Stefan Edlich. "NoSQL database List".
- Peter Neubauer (2010). "Graph Databases, NOSQL and Neo4j".
- Sergey Bushik (2012). "A vendor-independent comparison of NoSQL databases: Cassandra, HBase, MongoDB, Riak". NetworkWorld.
- Prof. PhD Roberto V. Zicari (2014). "NoSQL Data Stores – Articles, Papers, Presentations". odbms.org.