NoSQL的是与否
随着大量数据的出现,NoSQL数据库架构正在被越来越多的人所使用,因为NoSQL架构对于大数据的处理上面更为有效。如今,当你需要存
To NoSQL or not toNoSQL
随着大量数据的出现,NoSQL数据库架构正在被越来越多的人所使用,因为NoSQL架构对于大数据的处理上面更为有效。
如今,当你需要存储和处理高容量的数据时,许多的年轻开发人员更倾向于选择开源的NoSQL。他们宣称NoSQL才是属于未来的数据库架构,甚至于一些硅谷的创业企业认为传统的关系型数据库已经没有存在的意义了。
与此同时,有经验的DBA和开发者却提出了一个值得注意的例子:由于NoSQL的弱点,黑客利用这些弱点成功进入了系统,导致了Flexcoin和Poloniex这两家比特币交易公司的失败。甚至还有坚持拥护RDBMS的人认为,NoSQL根本就不适合任何关键应用(missioncritical)的开发。
当然,事实的真相肯定就在这两极观点的中间,两种架构都有他们的独特特性和适合的场景,所以这两者应该是共存的。与其把特性发挥到极致,先专心处理实际应用所需的数据准确度显然更为有用,尤其是当不一致的数据遇到低容忍性的环境时。电子商务、金融、航运、物流和制造业都是这样的,对于这些产业,“最终一致性”并不能完全满足他们的需求,不一致的数据库可能会让业务变得很糟糕。
对于关键任务的开发,管理员需要即时的一致性而非“最终一致”,这才能保证数据可以立即使用并且在应用中保持一致,,而不需要等到应用的操作结束之后。为了能实现这种级别的安全防护,开发者需要数据库对于每个事务都具有ACID特性。最终一致性不能满足这些行业的需求,只有完全的ACID数据库才能解决,因为有ACID特性,每一个事务的操作才是可靠的、一致的,同时ACID特性也保重数据的一致性不会受到运行事故或者是外界干扰的影响。
而与此同时,一些流行的开源NoSQL数据库,如MongoDB和Cassandra,它们更容易搭建也可以很快的编写和部署应用。他们的快速也吸引了许多争分夺秒抢夺市场的公司。如今,这些数据库还提出了对应于ACID的新的概念BASE(基本可用性、软状态、最终一致)。
虽然流行的NoSQL数据库架构不都支持ACID的特性,一些NoSQL的集成实现却可以。这些集成实现甚至能实现关键性任务所需要的即时一致性的ACID特性。事实上,已经有一些金融服务企业正在采用具有即时一致性的NoSQL数据库,在严格管理的环境下来支持他们每秒数以百万计的金融事务。
有许多的在线零售商这样的商家,他们需要即时一致性的ACID支持,可是他们也需要能快速处理比如用户反馈一类的数据,这些数据不需要特别强的ACID支持,最终一致性就可以满足处理的需求了。
对于那些坚决使用NoSQL或者SQL的任何一方,不管怎么样,他们都要认识到SQL架构在金融应用中确实有它适合的场景,比如分析一个标准格式的报表。
所以,对于需要短时间处理大量的数据、拓展的弹性能力,也需要即时的准确性的那些关键任务性应用,那么他们应该选择带有即时一致性ACID支持的NoSQL数据库。
对于那些不需要即时数据一致性,比如社交网络内容和其他只需要保证最终一致性就可以满足的场景,支持BASE的NoSQL就足够满足需求了。
而对于需要深度分析、报告等严苛商务操作的场景,还是传统的SQL最能胜任。
最后,现在有许多的数据库客供大家选择,甚至有的可以提供同样数据集NoSQL和SQL混合使用的技术。面对这些种种选择,还是需要考虑实际应用场景再做选择,SQL和NoSQL都有各自的优点和不足,只有把他们使用到了最适合的场景之中,才能发挥他们最大的作用!
《NoSQL数据库入门》,高清PDF 版下载见
NoSQL数据库的基础知识
企业应用NoSQL的关键
本文永久更新链接地址:

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics











MySQL is an open source relational database management system, mainly used to store and retrieve data quickly and reliably. Its working principle includes client requests, query resolution, execution of queries and return results. Examples of usage include creating tables, inserting and querying data, and advanced features such as JOIN operations. Common errors involve SQL syntax, data types, and permissions, and optimization suggestions include the use of indexes, optimized queries, and partitioning of tables.

In Oracle, the FOR LOOP loop can create cursors dynamically. The steps are: 1. Define the cursor type; 2. Create the loop; 3. Create the cursor dynamically; 4. Execute the cursor; 5. Close the cursor. Example: A cursor can be created cycle-by-circuit to display the names and salaries of the top 10 employees.

MySQL is chosen for its performance, reliability, ease of use, and community support. 1.MySQL provides efficient data storage and retrieval functions, supporting multiple data types and advanced query operations. 2. Adopt client-server architecture and multiple storage engines to support transaction and query optimization. 3. Easy to use, supports a variety of operating systems and programming languages. 4. Have strong community support and provide rich resources and solutions.

Oracle views can be exported through the EXP utility: Log in to the Oracle database. Start the EXP utility, specifying the view name and export directory. Enter export parameters, including target mode, file format, and tablespace. Start exporting. Verify the export using the impdp utility.

When Oracle log files are full, the following solutions can be adopted: 1) Clean old log files; 2) Increase the log file size; 3) Increase the log file group; 4) Set up automatic log management; 5) Reinitialize the database. Before implementing any solution, it is recommended to back up the database to prevent data loss.

MySQL is suitable for web applications and content management systems and is popular for its open source, high performance and ease of use. 1) Compared with PostgreSQL, MySQL performs better in simple queries and high concurrent read operations. 2) Compared with Oracle, MySQL is more popular among small and medium-sized enterprises because of its open source and low cost. 3) Compared with Microsoft SQL Server, MySQL is more suitable for cross-platform applications. 4) Unlike MongoDB, MySQL is more suitable for structured data and transaction processing.

Oracle is not only a database company, but also a leader in cloud computing and ERP systems. 1. Oracle provides comprehensive solutions from database to cloud services and ERP systems. 2. OracleCloud challenges AWS and Azure, providing IaaS, PaaS and SaaS services. 3. Oracle's ERP systems such as E-BusinessSuite and FusionApplications help enterprises optimize operations.

Building a Hadoop Distributed File System (HDFS) on a CentOS system requires multiple steps. This article provides a brief configuration guide. 1. Prepare to install JDK in the early stage: Install JavaDevelopmentKit (JDK) on all nodes, and the version must be compatible with Hadoop. The installation package can be downloaded from the Oracle official website. Environment variable configuration: Edit /etc/profile file, set Java and Hadoop environment variables, so that the system can find the installation path of JDK and Hadoop. 2. Security configuration: SSH password-free login to generate SSH key: Use the ssh-keygen command on each node
