Thứ Sáu, 22 tháng 10, 2010

10 thứ bạn cần biết về các cơ sở dữ liệu NoSQL

10 things you Need to Know About NoSQL Databases

By Herman Mehling

Theo: http://www.databasejournal.com/features/article.php/3905531/10-things-you-Need-to-Know-About-NoSQL-Databases.htm

Bài được đưa lên Internet ngày: 30/09/2010

Lời người dịch: Các cơ sở dữ liệu NoSQL là mới mẻ, nó đang được một số hãng lớn sử dụng như Amazon và Google. Dù nó có nhiều ưu điểm, nhưng cũng có nhiều nhược điểm. Bài này sẽ cho ta biết về những điều đó.

Khoảng 2 thập kỷ nay, mô hình cơ sở dữ liệu quan hệ RDBMS từng là trò chơi duy nhất trong thành phố cho việc quản trị cơ sở dữ liệu. Vài năm qua, một trò chơi khác đã nổi lên: NoSQL, một mô hình cơ sở dữ liệu phân tán không quan hệ. Hãy đọc tiếp để học 5 lợi ích hàng đầu và 5 nhước điểm hàng đầu của nó.

Trong khi không còn là mới - khái niệm NoSQL đã có khoảng 10 năm hoặc đại loại thế - thì NoSQL đã và đang thu hút được nhiều sự chú ý trong những năm gần đây, ban đầu nhờ vào những triển khai sản phẩm có tên tuổi lớn.

Dynamo của Amazon và BigTable của Google là trong số những triển khai nổi tiếng nhất.

Trong khi NoSQL đưa ra một số lợi ích, thì nó cũng không tránh khỏi có những nhược điểm.

Đây là 5 lợi ích của NoSQL:

Nó là nguồn mở - thứ tốt lành nhất

Các sản phẩm nguồn mở đưa ra cho những người phát triển với một vài lợi ích lớn lao, trong đó có tình trạng không có chi phí của chúng. Những lợi ích khác: phần mềm nguồn mở có xu hướng sẽ là tin cậy hơn, an ninh hơn và nhanh hơn để triển khai so với các lựa chọn thay thế sở hữu độc quyền.

Các hệ quản trị cơ sở dữ liệu (CSDL) NoSQL là Cassandra, CouchDB, Hbase, MongoDB và Redis.

Việc mở rộng phạm vi là mềm dẻo

NoSQL thay thế câu thần chú cũ của các nhà quản trị CSDL về 'mở rộng phạm vi' với một thứ mới: 'mở rộng ra ngoài'. Thay vì bổ sung thêm các máy chủ lớn hơn để điều khiển nhiều tải dữ liệu hơn, thì CSDL NoSQL cho phép một công ty phân tán tải qua nhiều máy chủ khi mà tải gia tăng.

Các CSDL NoSQL khác nhau cho những dự án khác nhau

MongoDB và Redis là những lựa chọn tốt cho việc lưu trữ các dữ liệu thống kê ít được đọc mà lại được viết thường xuyên, như một số đếm truy cập web chẳng hạn.

Hadoop, một CSDL dạng tự do, phân tán làm tốt công việc lưu trữ các dữ liệu lớn như các con số thống kê thời tiết hoặc công việc phân tích nghiệp vụ.

Memcache, một CSDL nhất thời chóng tàn, tuyệt vời trong lưu trữ các phiên làm việc web, các khóa, và các con số thống kê ngắn hạn.

Cassandra và Riak (các lưu trữ dư thừa, tự động tạo bó cluster) làm tốt trong các môi trường với các ứng dụng có tính sẵn sàng cao, khi thời gian sống tối đa là sống còn.

Những triển khai ấn tượng của NoSQL

Các công ty như Amazon, BBC, Facebook và Google dựa vào các CSDL NoSQL.

NoSQL bay cao trong đám mây

NoSQL và đám mây là một sự trùng khớp tự nhiên. Các máy chủ ngày nay là không đắt và có thể dễ dàng mở rộng phạm vi được theo yêu cầu có sử dụng một dịch vụ như là Amazon EC2. Giống như tất cả công nghệ đám mây, EC2 dựa vào ảo hóa. Liên kết yếu của ảo hóa là sự thực thi của I/O, với bộ nhớ và CPU các các kết nối mạnh.

Các CSDL NoSQL hầu hết sử dụng bộ nhớ qua đĩa như là vị trí ghi đầu tiên - vì thế ngăn ngừa được sự thực thi không ổn định của I/O. Và vì NoSQL lưu trữ dữ liệu thường thúc đẩy được tính mở rộng phạm vi theo chiều ngang thông qua việc ngăn chia, chúng có khả năng tận dụng được việc cung cấp mềm dẻo của đám mây.

For about two decades, the relational database (RDBMS) model was the only game in town for database management. Over the past few years, another game has emerged: NoSQL, a non-relational distributed database model. Read on to learn the top 5 benefits and the top 5 disadvantages.

While far from new -- the NoSQL concept has been around for 10 years or so -- NoSQL has been attracting a lot of attention in recent years, primarily due to big-name production implementations. Amazon’s Dynamo and Google’s BigTable are among the best known implementations.

While NoSQL offers a number of benefits, it is not without inevitable downsides.

Here are Five Benefits of NoSQL

It's Open Source - Mostly a Good Thing

Open source products provide developers with some great benefits, notably their no-cost status. Other benefits: open-source software tends to be more reliable, secure, and faster to deploy than proprietary alternatives.

Popular NoSQL DBs are Cassandra, CouchDB, Hbase, MongoDB, and Redis.

Elastic Scaling

NoSQL replaces the old 'scale up' mantra of database managers with a new one: 'scale out.' Instead of adding bigger servers to handle more data load, a NoSQL database allows a company to distribute the load across multiple hosts as the load increases.

Different NoSQL DBs for Different Projects

MongoDB and Redis are good choices for storing frequently-written, rarely read statistical data, such as a web hit counter.

Hadoop, a freeform, distributed DB does a good job of storing Big Data such as weather stats or business analytics work.

Memcache, a transient DB, excels at storing web sessions, locks, and short-term stats) .

Cassandra and Riak (automatically clustered, redundant stores) perform well in environments with high availability apps, when maximum uptime is vital.

NoSQL’s Impressive Implementations

Companies such as Amazon, the BBC, Facebook and Google rely on NoSQL DBs.

NoSQL Flies High in the Cloud

NoSQL and the cloud are a natural fit. Today’s servers are inexpensive and can easily be scaled up on demand using a service such as Amazon EC2. Like all cloud technology, EC2 is based on virtualization. The weak link of virtualization is I/O performance, with memory and CPU being the strong links.

NoSQL databases mostly use memory over disk as the primary write location – thereby preventing inconsistent I/O performance. And since NoSQL datastores typically leverage horizontal scalability via partitioning, they are able to take advantage of the cloud’s elastic provisioning.

Đây là 5 nhược điểm của NoSQL

Nguồn mở có thể có nghĩa là sự hỗ trợ không đồng đều cho các doanh nghiệp

Trong khi các nhà cung cấp chủ chốt của RMBMS như Oracle, IBM hay Sybase đưa ra sự hỗ trợ tốt nhổi tiếng cho các khách hàng doanh nghiệp cỡ vừa, thì các doanh nghiệp nhỏ hơn, thường là các nhà cung cấp nguồn mở mới thành lập không thể được mong đợi cung cấp được sự hỗ trợ có thể so sánh được - ngoại trừ một nhúm các khách hàng blue chip.

Nhà cung cấp nguồn mở trung bình thiếu sự tiếp cận toàn cầu, các dịch vụ hỗ trợ và sự tin cậy của một Oracle hay IBM.

Chưa đủ chín cho các doanh nghiệp

Dù những triển khai của chúng tại một số công ty lớn, thì các CSDL NoSQL vẫn đối mặt với một vấn đề về sự tin cậy chính với nhiều doanh nghiệp. Điểm sống còn đối với sự thiếu của NoSQL về độ chín muồi và các vấn đề về tính không ổn định có thể, trong khi trích ra tính chín muồi, giàu chức năng và ổn định của các RDBMS được thiết lập đã từ lâu.

Here are Five Downsides of NoSQL

Open Source can Mean Spotty Support for Enterprises

While major RMBMS vendors such as Oracle, IBM and Sybase deliver good to outstanding support for their mid-size and enterprise customers, smaller, typically start-up open source vendors cannot be expected to deliver comparable support – except to a handful of blue-chip customers.

The average open-source vendor lacks the global reach, support services, and credibility of an Oracle or IBM.

Not Mature Enough for Enterprises

Despite their implementations at some major companies, NOSQL databases still face a major credibility problem with many enterprises. Critics point to NoSQL’s lack of maturity and possible instability issues, while citing the maturity, rich functionality and stability of long-established RDBMSes.

Những hạn chế về tri thức nghiệp vụ

Có một vài câu hỏi xung quanh những khả năng về tri thức nghiệp vụ (BI) của các CSDL NoSQL. Liệu các CSDL này có thể cung cấp dạng phân tích dữ liệu lớn và mạnh mà các doanh nghiệp đã quen với các RDBMS? Cần bao nhiêu sự tinh thông về lập trình cần có để tiến hành những truy vấn và phân tích hiện đại?

Các câu trả lời là không tích cực. Các CSDL NoSQL không có nhiều sự đeo bám tới các công cụ BI thường được sử dụng, trong khi những yêu cầu và phân tích hiện đại đơn giản nhất có liên quan khác nhiều tới sự tinh thông về lập trình. Tuy vậy, các giải pháp là sẵn sàng. Quest Software, ví dụ, đã tạo ra Toad cho các CSDL đám mây, mà nó phân phối các khả năng truy vấn hiện đại tới một số CSDL NoSQL.

Thiếu sự tinh thông

Tính rất mới mẻ của NoSQL có nghĩa là không có nhiều lập trình viên và người quản trị mà biết công nghệ này - là cho khó khăn cho các công ty tìm người với sự tinh thông phù hợp. Đối lại, thế giới của RDBMS có hàng ngàn những người đủ tư cách.

Những vấn đề về tính tương thích

Không giống như các CSDL quan hệ, các CSDL NoSQL chia sẻ ít theo cách thức của các tiêu chuẩn. Mỗi CSDL NoSQL có các giao diện lập trình ứng dụng API riêng của mình, các giao diện truy vấn độc nhất vô nhị, và những sự riêng biệt. Sự thiếu hụt các tiêu chuẩn có nghĩa là nó không có khả năng để chuyển một cách đơn giản từ một nhà cung cấp này sang một nhà cung cấp khác, nếu bạn trở nên không hạnh phúc với dịch vụ.

Các bài liên quan:

The Rise of NoSQL Databases

Five Reasons to Keep NoSQL on Your Radar

Does NoSQL Spell the End of Relational Databases?

Business Intelligence Limitations

There’s a question mark or two around the BI capabilities of NoSQL databases. Can these databases provide the sort of rigorous data-mining that corporations are used to with RDBMSes? How much programming expertise is needed to do ad-hoc query and analysis?

The answers are not exactly positive. NoSQL databases do not have many hooks to commonly used BI tools, while the simplest ad-hoc query and analysis involves pretty heavy programming expertise. Nevertheless, solutions are available. Quest Software, for example, has created Toad for cloud databases, which delivers ad-hoc query capabilities to some NoSQL databases.

Lack of Expertise

The very newness of NoSQL means there are not a lot of developers and administrators who know the technology – making it difficult for companies to find people with appropriate expertise. In contrast, the RDBMS world has thousands of very qualified people.

Compatibility Issues

Unlike relational databases, NoSQL databases share little in the way of standards. Each NoSQL database has its own API, unique query interfaces, and peculiarities. This lack of standards means it’s impossible to simply switch from one vendor to another, if you become unhappy with the service.

Related Articles

The Rise of NoSQL Databases

Five Reasons to Keep NoSQL on Your Radar

Does NoSQL Spell the End of Relational Databases?

Dịch tài liệu: Lê Trung Nghĩa

letrungnghia.foss@gmail.com

4 nhận xét:

  1. Bài viết sưu tầm rất hay nhưng phần dịch nhiều chỗ chưa chính xác! :)

    Trả lờiXóa
  2. Nhiều đoạn như dùng google translate vậy =.=

    Trả lờiXóa
  3. cảm ơn tác giả, nhưng dịch kiểu này bạn chỉ nên đưa link gốc thôi

    Trả lờiXóa

Lưu ý: Chỉ thành viên của blog này mới được đăng nhận xét.