Network Security Internet Technology Development Database Servers Mobile Phone Android Software Apple Software Computer Software News IT Information

In addition to Weibo, there is also WeChat

Please pay attention

WeChat public account

Shulou

What are the commonly used NoSQL database systems?

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.

Share To

Database

Wechat

© 2024 shulou.com SLNews company. All rights reserved.

12
Report