In addition to Weibo, there is also WeChat
Please pay attention
WeChat public account
Shulou
2025-01-18 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Database >
Share
Shulou(Shulou.com)05/31 Report--
This article mainly explains "what is the comparative analysis of commonly used NoSQL database systems". Interested friends may wish to take a look. The method introduced in this paper is simple, fast and practical. Next let the editor to take you to learn "what are the commonly used NoSQL database systems comparative analysis?"
1. CouchDB
Language used: Erlang
Features: DB consistency, easy to use
License: Apache
Protocol: HTTP/REST
Bidirectional data replication
Continuous or temporary treatment
Processing with conflict check
Therefore, master-master replication is used (see Note 2)
MVCC-write operations do not block read operations
The previous version of the file can be saved
Crash-only (reliable) design
Need to compress data from time to time
View: embedded mapping / reduction
Formatting views: list display
Support for server-side document validation
Support authentication
Real-time updates based on changes
Support attachment processing
Therefore, CouchApps (stand-alone js application)
JQuery library is required
Best application scenario: suitable for applications with few data changes, predefined queries and data statistics. Suitable for applications that need to provide data version support.
For example: CRM, CMS system. Master-master replication is very useful for multisite deployments.
2:master-master replication: a database synchronization method that allows data to be shared among a group of computers and can be updated within a group through any member of the team. )
2. Redis
The language used is: CumberCandle +
Features: running unusually fast
License: BSD
Protocol: Telnet-like
In-memory database with hard disk storage support
However, data can be exchanged to the hard disk after version 2.0 (note that this feature is not supported in versions later than 2.4! )
Master-slave replication (see Note 3)
Although hash tables are indexed with simple data or key values, complex operations, such as ZREVRANGEBYSCORE, are also supported.
INCR & co (suitable for calculating limits or statistics)
Support for sets (also supports union/diff/inter)
Support list (also supports queues; blocking pop operations)
Support hash tables (objects with multiple fields)
Support for sorting sets (high score table, suitable for range queries)
Redis supports transactions
Support for setting data to expired data (similar to fast buffer design)
Pub/Sub allows users to implement message mechanisms
Best application scenario: suitable for applications with fast data changes and database size (suitable for memory capacity).
For example: stock price, data analysis, real-time data collection, real-time communication.
Note 3:Master-slave replication: if only one server processes all replication requests at a time, this is called Master-slave replication and is usually applied to server clusters that need to provide high availability. )
3. MongoDB
Language: C++
Features: retain some friendly features of SQL (query, index).
License: AGPL (initiator: Apache)
Protocol: Custom, binary (BSON)
Master/slave replication (support for automatic error recovery, using sets replication)
Built-in slicing mechanism
Support for javascript expression queries
Arbitrary javascript functions can be executed on the server side
Update-in-place support is better than CouchDB
Use memory-to-file mapping in data storage
Focus on performance more than functionality
It is recommended to enable the log function (parameter-journal)
On 32-bit operating systems, the database size is limited to about 2.5Gb
Empty database accounts for about 192Mb
Use GridFS to store big data or metadata (not a real file system)
Best application scenario: suitable for applications that need dynamic query support; need to use indexes instead of map/reduce functions; need to have performance requirements for large databases; and need to use CouchDB but fill up memory because the data changes too frequently.
For example, you were going to use MySQL or PostgreSQL, but you were deterred by their own predefined bar.
4. Riak
Languages: Erlang and C, and some Javascript
Features: fault tolerance
License: Apache
Protocol: HTTP/REST or custom binary
Adjustable distribution and replication (N, R, W)
Use JavaScript or Erlang for verification and security support before or after operation.
Using JavaScript or Erlang for Map/reduce
Connection and connection traversal: can be used as a graphical database
Index: enter metadata for search (version 1.0 will be supported soon)
Big data object support (Luwak)
Both "open source" and "enterprise" versions are available
Full-text search, indexing, query through Riak search server (beta version)
Support Masterless multi-site replication and commercial license SNMP monitoring
Best application scenario: suitable for situations where you want to use a database similar to Cassandra (similar to Dynamo) but cannot handle bloat and complexity. It is suitable for situations where you plan to do multi-site replication, but require scalability, availability and error handling of a single site.
For example: sales data collection, factory control system; strict downtime requirements; can be used as an easy to update web server.
5. Membase
Language: Erlang and C
Features: compatible with Memcache, but with both persistence and cluster support
License: Apache 2.0
Protocol: distributed caching and extension
Very fast (200k+/ seconds), indexing data by key values
Persistent storage to hard disk
All nodes are unique (master-master replication)
Cache units similar to distributed caches are also supported in memory
Reduce IO by removing duplicate data when writing data
Provide a very good web interface for cluster management
The software does not need to stop the database service when updating the software
Connection agents that support connection pooling and multiplexing
Best application scenario: for applications that require low latency data access, high concurrency support, and high availability
For example, low-latency data access such as advertising-targeted applications, highly concurrent web applications such as online games (such as Zynga)
6. Neo4j
Language used: Java
Features: relational-based graphical database
License: GPL, some of which are licensed commercially by AGPL/
Protocol: HTTP/REST (or embedded in Java)
Can be used independently or embedded in Java applications
The nodes and edges of a drawing can have metadata
Good built-in web management
Use multiple algorithms to support path search
Indexing using key values and relationships
Optimize for read operations
Support transactions (with Java api)
Using the Gremlin graphic traversal language
Support for Groovy scripts
Support for online backup, advanced monitoring and high reliability support using AGPL/ commercial license
Best application scenario: suitable for data such as graphics. This is the most significant difference between Neo4j and other nosql databases.
For example: social relations, public transport networks, maps and network topography
7. Cassandra
Language used: Java
Features: best support for large tables and Dynamo
License: Apache
Protocol: Custom, binary (economical)
Adjustable distribution and replication (N, R, W)
Support querying through columns with a range of key values
A function similar to a large table: columns, a collection of columns for a property
Write operations are faster than read operations
Map/reduce as much as possible based on Apache distributed platform
I admit to being biased against Cassandra, in part because of its bloated and complexity, but also because of Java problems (configuration, exceptions, etc.)
Best application scenario: when using more write operations than read operations (logging) if each system build must be written in Java (no one is fired for choosing Apache software)
For example: banking, finance (although not necessary for financial transactions, but these industries will require more databases than they do) write faster than read, so a natural feature is real-time data analysis.
8. HBase
(used with ghshephard)
Language used: Java
Features: support billions of rows, X and millions of columns
License: Apache
Protocol: HTTP/REST (support for Thrift, see Note 4)
Modeling after BigTable
Using distributed architecture Map/reduce
Optimize real-time query
High performance Thrift Gateway
The prediction of query operation is realized by scanning and filtering on the server side.
HTTP that supports XML, Protobuf, and binary
Cascading, hive, and pig source and sink modules
Shell based on Jruby (JIRB)
Configuration changes and minor upgrades will be rolled back
There will be no single point of failure
Comparable to the random access performance of MySQL
Best application scenario: suitable for situations where you prefer BigTable:) and need random, real-time access to big data.
For example: Facebook message database (more general use cases are coming soon)
4:Thrift is an interface definition language that provides definition and creation services for many other languages, developed and open source by Facebook.
At this point, I believe that everyone on the "commonly used NoSQL database system comparative analysis of what" have a deeper understanding, might as well to the actual operation of it! Here is the website, more related content can enter the relevant channels to inquire, follow us, continue to learn!
Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.
Views: 0
*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.
Continue with the installation of the previous hadoop.First, install zookooper1. Decompress zookoope
"Every 5-10 years, there's a rare product, a really special, very unusual product that's the most un
© 2024 shulou.com SLNews company. All rights reserved.