In addition to Weibo, there is also WeChat
Please pay attention
WeChat public account
Shulou
2025-01-16 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Database >
Share
Shulou(Shulou.com)05/31 Report--
This article mainly talks about the difference between SQL and NoSQL. Interested friends may wish to have a look at it. The method introduced in this paper is simple, fast and practical. Let's let the editor take you to learn the difference between SQL and NoSQL.
I. introduction of experts
Ryan Betts, chief technology officer of VoltDB, said that SQL has won the widespread deployment of large enterprises, and big data is another area it can support.
Bob Wiederhold, CEO of Couchbase, said that NoSQL is a viable option, and in many ways, it is the best choice for big data, especially when it comes to scalability.
Second, SQL has stood the test of time and is still booming
Structured query language (SQL) is a time-tested winner that has dominated for decades, and big data and organizations such as Google, Facebook, Cloudera and Apache are actively investing in SQL.
After becoming the dominant technology (such as SQL), it is sometimes easy to forget its advantages. The unique advantages of SQL include:
1. SQL enhances interaction with data and allows questions about individual database designs. This is a critical feature because data that cannot be interacted is basically useless, and enhanced interactivity can lead to new insights, new problems, and more meaningful future interactions.
2. SQL is standardized, enabling users to apply their knowledge across systems and provide support for third-party accessories and tools.
3. SQL can be extended, multi-functional and time-verified, which can solve the problems from fast write-dominated transmission to scan-intensive in-depth analysis.
4. SQL adopts orthogonal form for data presentation and storage, and some SQL systems support JSON and other structured object formats, which have better performance and more functions than NoSQL.
Although the emergence of NoSQL has brought some impact, SQL still dominates the market and has won a lot of investment and extensive deployment in the field of big data.
NoSQL is vague, and for this discussion, I borrow Rick Cattell's definition of NoSQL, a system that provides simple operations (such as key / numerical storage) or simple records and indexes, and focuses on the horizontal scalability of these simple operations.
Obviously, many new databases are not the same today, and understanding the principles and potential problems behind each database is the key to success. The main features of NoSQL make it more suitable for specific problems. For example, graphical databases are more suitable for situations where data is organized through relationships, while specialized text search systems are more suitable for situations where real-time search is needed.
Here, let's take a look at the main advantages and differentiated features of the SQL system:
* SQL enables interactivity. SQL is a declarative query language. When users say what they want (for example, showing the geographic location of top customers over the past five years and March), the algorithm is built inside the database and the requested results are extracted. In contrast, NoSQL programming innovation MapReduce is a procedural query technology. When a user makes a request, MapReduce asks the user not only to say what he wants, but also to state how to produce the answer.
This sounds like a boring technical difference, but it's critical because, first of all, declarative SQL queries are easier to build through graphical tools and click report builders. This allows analysts, operators, managers and other employees who do not have software programming skills to query the database; second, the database engine can use internal information to select the most efficient algorithm. Change the physical layout of the database or the database, the best algorithm can still be calculated. In procedural systems, programmers need to revisit and reprogram algorithms, which is a very expensive and error-prone process.
The market understands this key difference. In 2010, Google announced the deployment of SQL to supplement MapReduce, mainly driven by the needs of internal users. Recently, Facebook released Presto (a SQL deployment) to query its PB-level HDFS cluster. According to Facebook, "as our warehouse grows to the PB level and our needs change, we are well aware that we need an interactive system that provides low-latency queries." In addition, Cloudera is building another HDFS-based SQL deployment for Impala-.
* SQL is standardized. Although vendors sometimes add their own language to the SQL interface, the core of SQL is standardized, and there are other specifications (such as ODBC and JDBC) that provide a widely available stable interface to SQL storage. This creates an ecosystem of management and operational tools that can design, monitor, inspect, explore, and build applications on top of SQL systems.
SQL users and programmers can reuse their API and UI knowledge across multiple back-end systems, reducing application development time. Standardization also allows declarative third-party extraction, transformation, and loading (ETL) tools that enable enterprises to transfer data between databases and across systems.
* SQL is extensible. The idea that SQL must be sacrificed to achieve scalability is completely wrong. As mentioned earlier, Facebook creates a SQL interface to query PB-level data. SQL can run extremely fast ACID transmissions very efficiently. The abstraction provided by SQL for data storage and indexing allows consistent use across a variety of problems and dataset sizes, allowing SQL to run efficiently with replicated data stores across clusters. Using SQL as the interface is independent of building cloud, scale, or HA systems, and there is nothing in SQL that prevents or limits fault tolerance, high availability, and replication. In fact, all modern SQL systems support cloud-friendly horizontal scalability, replication, and fault tolerance.
* SQL supports JSON. A few years ago, many SQL systems added XML documentation support. Now, as JSON has become a popular data exchange format, SQL vendors have also added JSON-type support. Based on the current flexible programming process and the uptime requirements of the web infrastructure, we need the support of structured data types. Oracle 12c, PostgreSQL 9.2, VoltDB, and other JSON-enabled databases generally have better performance than "native" JSON.
SQL will continue to gain market share and continue to see new investments and deployments. NoSQL databases provide proprietary query languages or simple key-value semantics without deeper technical differentiation. Modern SQL systems not only provide scalability, but also support richer query semantics, a large user installation base, extensive ecosystem integration and deep enterprise deployment.
3. NoSQL is more suitable for big data application.
NoSQL is increasingly seen as a viable alternative to relational databases, especially for big data applications. In addition, schemaless data models are generally more suitable for the types and types of data that are now captured and processed.
When we talk about big data in the field of NoSQL, we mean reading and writing from the operating database. Do not confuse manipulating the database with the analysis database, which usually looks at a large amount of data and gains visibility from that data.
Although big data, who operates the database, does not seem to be analyzable, manipulating the database usually stores large datasets of a very large number of users who often need to access data to execute transactions in real time. The scale of this database operation also explains the key features of NoSQL, which is why NoSQL is the key to big data's application.
4. NoSQL is the key to scalability
Every time the technology industry experiences a fundamental change in hardware development, there will be an inflection point. In the field of database, the transition from vertical expansion to horizontal expansion has promoted the development of NoSQL. Relational databases (including those from Oracle and IBM) are vertically extended. In other words, they are centralized, shared technologies that can only be extended by adding more expensive hardware.
NoSQL database is a distributed scale-out technology. They use distributed node sets (called clusters) to provide highly resilient scaling capabilities that allow users to add nodes to handle the load dynamically.
Distributed scale-out is usually cheaper than vertical. The licensing fees for business relational databases are also prohibitive because their prices are calculated on a per-server basis. On the other hand, NoSQL databases are usually open source technology, charged according to the server cluster running, and are relatively cheap.
NoSQL is the key to flexibility
There is a big difference between relational databases and NoSQL data models. The relational schema takes the data and allocates it to a number of interrelated tables that apply to each other through foreign keys.
When a user needs to run a query against a dataset, the required information needs to be collected from multiple tables (usually involving hundreds of enterprise applications) and combined with this information to be provided to the application. Similarly, when writing data, the write needs to be coordinated and performed in multiple tables. When data is relatively small and data flows into the database at a slower rate, relational databases are usually able to capture and store information. However, today's applications usually need to write (and read) large amounts of data quickly.
The NoSQL database uses a very different schema. At its core, NoSQL databases are actually "NoREL", or non-relational, meaning that they do not rely on tables and relationships between tables to store and organize information. For example, a document-oriented NoSQL database captures the data you want to store and integrates it into the document in JSON format. Each JSON document can be treated as an object by your application. An JSON document may extract data across 25 tables and integrate the data into a single document.
Aggregating this information can lead to duplication of information, but since storage is no longer a cost issue, the flexibility of the data model, the ease of publishing the resulting documents, and improved read and write performance make this a good choice.
NoSQL is the key to big data's application.
Through third parties, including social media sites, data is becoming easier to capture and access. These data include: personal user information, geographic location data, content produced by users, machine recording data and data generated by sensors. Companies can also rely on big data to drive their mission-critical applications. At the same time, enterprises are turning to NoSQL databases because they are well suited to today's new data types.
Developers want a flexible database that can easily adapt to new data types and is not affected by changes in the content structure of third-party data vendors. Most of the new data is unstructured and semi-structured, so developers also need databases that can effectively store this data. However, the well-defined schema-based approach adopted by relational databases makes it impossible to quickly integrate new data types and is not suitable for unstructured and semi-structured data.
At this point, I believe you have a deeper understanding of "the difference between SQL and NoSQL". You might as well do it in practice. 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.