2009-07-08 3 views
7

Trong khi các nhà truyền giáo lập trình máy tính dự đoán tương lai của Điện toán đám mây trở nên rất tươi sáng, liệu có cơ hội cho các cơ sở dữ liệu quan hệ được trên đường ra?Với Cloud Computing ngày càng trở nên phổ biến, các DB quan hệ có bị tử vong không?

DBs nào phù hợp hơn với Cloud Computing?

+0

@Các phiếu bầu gần đây: Điều này nghe giống như một câu hỏi thực sự đối với tôi. Rõ ràng là có một quan niệm sai lầm ở đây nhưng có ai đó giúp bạn với một quan niệm sai lầm là một phần quan trọng của SO. Đăng câu trả lời thay vì bỏ phiếu để đóng. –

Trả lời

1

Không, RDBMS sẽ luôn có địa điểm vì chức năng của chúng. Không chỉ riêng của họ, mà còn là xương sống cho các hệ thống khác (như OODBMSs).

0

Cơ sở dữ liệu quan hệ vẫn có liên quan, cả cho lưu trữ được bản địa hóa (chẳng hạn như bộ nhớ dành riêng cho ứng dụng) và lưu trữ máy chủ.

4

Mô hình cơ sở dữ liệu quan hệ có cơ sở toán học vững chắc trong đại số quan hệ. Điều này làm cho nó dễ dàng để lý do, để mở rộng, và sử dụng đúng (trong lý thuyết). Ngay cả khi các mẫu truy cập cơ sở dữ liệu thay đổi đáng kể như là kết quả của các API và sử dụng mới này, có khả năng là một cơ sở dữ liệu quan hệ sẽ hình thành việc triển khai cơ bản vì lý do này.

+1

Nhưng họ không, đó là vấn đề. RDBMS có các vấn đề về khả năng mở rộng vốn có * vì * của kiến ​​trúc của nó. – Bob77

+0

Nhưng họ không/cái gì /? Tôi đã không đề cập đến khả năng mở rộng. – Kylotan

0

Nền tảng điện toán đám mây mà tôi từng thấy đều có cơ sở dữ liệu quan hệ. Vì vậy, tôi không thấy điện toán đám mây thực sự thay đổi hình ảnh trong tham chiếu đến các loại cơ sở dữ liệu đang được sử dụng.

Tuy nhiên, thứ gì đó cuối cùng sẽ thay thế cơ sở dữ liệu mà tất cả chúng ta đã quen. Câu hỏi đặt ra là liệu đó có phải là một phiên bản RDB cấp cao hơn hay một cái gì đó khác. Một khía cạnh khác của câu hỏi đó là phải mất bao lâu để cây trồng RDB hiện tại phai mờ? (Tôi không có câu trả lời cho cả hai.)

0

Những đám mây vẫn tiếp tục trong những ngày này, vì vậy tôi không nghĩ sớm thế.

0

Tôi không nghĩ rằng điện toán đám mây sẽ giết RDBMS. Một cái gì đó khác có thể mặc dù.

Đầu tiên, loại công cụ lưu trữ mà một ứng dụng nhất định sử dụng không (hoặc không) phụ thuộc vào nơi nó đang chạy (đám mây hoặc máy chủ cụ thể), mà là cách lưu trữ dữ liệu.

Thứ hai, theo như tôi có thể nói lý do duy nhất mọi người nghĩ RDBMS đang trên đường của họ là vì họ không quy mô cũng như DBMS không quan hệ (chẳng hạn như DBMS hướng tài liệu như CouchDB) có thể dễ dàng được phân phối vào đám mây. Tuy nhiên, không có lý do gì mà RDBMSs không thể trở nên thân thiện với đám mây hơn trong tương lai. Ví dụ đầu tiên, xem Drizzle:

Dự án mưa phùn là xây dựng cơ sở dữ liệu được tối ưu hóa cho các ứng dụng Cloud và Net. Nó đang được thiết kế cho đồng thời lớn trên kiến ​​trúc đa CPU/lõi hiện đại.

Vì vậy không, tôi không nghĩ rằng điện toán đám mây sẽ giết RDBMS. Họ sẽ buộc phải thích nghi. Tuy nhiên, điều có thể giết chúng là nếu một giải pháp thay thế hiện có, hoặc một phương án mới, trở nên mạnh mẽ và dễ sử dụng như RDBMS. Những gì tôi có nghĩa là một giải pháp mà có cả phần mềm hoàn toàn vững chắc (betas không được phép) và rất dễ dàng cho các lập trình để chuyển sang. Họ đưa ra bằng cấp cho những người hiểu RDBMS.Bởi vì tất cả các phần mềm hỗ trợ (như ORM như ActiveRecord, SQLAlchemy, và bất kỳ việc sử dụng .NET nào mà tôi giả sử), việc sử dụng RDBMSs đã trở nên dễ dàng ngay cả đối với những người không biết hình thức bình thường đầu tiên là gì. Vì vậy, tôi nghĩ rằng cho đến khi có một cách để mọi người sử dụng (ví dụ) một DODBMS cũng dễ dàng, RDBMS sẽ tiếp tục thống trị. Tôi cũng không nói điều đó nhất thiết là xấu. Một lần nữa, DBMS bạn sử dụng sẽ phụ thuộc vào dữ liệu của bạn, không phải những gì mọi người nói là tuyệt vời và tốt hơn.

0

Một trích dẫn từ bài viết:.

"Các hạn chế cố hữu của một cơ sở dữ liệu quan hệ đảm bảo rằng dữ liệu ở mức thấp nhất có tính toàn vẹn dữ liệu vi phạm ràng buộc toàn vẹn không thể chất được nhập vào cơ sở dữ liệu Những hạn chế này thì không. tồn tại trong một cơ sở dữ liệu khóa/giá trị, vì vậy trách nhiệm đảm bảo tính toàn vẹn dữ liệu hoàn toàn rơi vào ứng dụng, nhưng mã ứng dụng thường mang lỗi. cơ sở dữ liệu giá trị, tuy nhiên, khá dễ dàng dẫn đến các vấn đề toàn vẹn dữ liệu. "

Điều này có nghĩa với tôi là RDBMS bị tiêu diệt và các công nghệ mới đang phải đối mặt với một tương lai tuyệt vời và rực rỡ, đến mức người dùng không quan tâm đến tính chính xác của dữ liệu của họ.

IMHO.

0

Không có gì sai với cơ sở dữ liệu quan hệ cho các ứng dụng cần truy vấn dữ liệu có cấu trúc hơn (ví dụ: "Có bao nhiêu người mua sản phẩm XYZ, vào ngày này, đã trả hơn 100 đô la, nhưng ít hơn 150 đô la?"). Có những vấn đề kiến ​​trúc tiềm ẩn quan trọng cần được giải quyết khi các hệ thống này mở rộng và phát triển. Khi DB của bạn outgrows một máy bạn bắt đầu và/hoặc lưu lượng truy cập/yêu cầu bắt đầu quá tải nguồn lực sẵn có, sau đó (nếu bạn vẫn muốn giữ cơ sở dữ liệu quan hệ của bạn), bạn phải bắt đầu thêm lớp. Rất may ngày nay, có rất nhiều tùy chọn có sẵn sau đó trong những năm trước ... bao gồm bộ nhớ đệm, bản đồ và giảm, và các chức năng khác - nhưng các lớp bổ sung này làm tăng thêm độ phức tạp và bảo trì. Trong một nghĩa nào đó, tôi sẽ xem xét những "hỗ trợ băng tần" được thiết kế này, nhiều khả năng sẽ giải quyết được vấn đề về khả năng mở rộng và phân phối với một DB quan hệ ngày nay, nhưng dài hạn hơn? Ai biết. Tôi cũng thấy các lớp phổ biến ngày nay - tất cả đều cơ bản cố gắng mô phỏng chức năng đã có sẵn trong DB đối tượng, cho các nhà phát triển một lớp "đối tượng ảo DB" mà họ có thể sử dụng với ngôn ngữ đối tượng của họ để làm mọi việc nhanh hơn và hiệu quả hơn vượt qua những trở ngại về tăng trưởng và hiệu suất. Vì vậy, tôi đoán ý kiến ​​tổng thể của tôi là, DB quan hệ đã trở thành DB defacto có lẽ chủ yếu là do làm thế nào (tương đối) dễ dàng là để truy vấn một cơ sở dữ liệu, và nhận được kết quả cho một khách hàng/ứng dụng sử dụng nó. Mặc dù khối lượng đã tăng lên và độ phức tạp của ứng dụng ngày nay lớn hơn theo cấp số nhân, tôi nghĩ rằng nhiều nhà phát triển sẽ quyết định cắn đạn, tìm hiểu cú pháp đối với DB đối tượng (thực tế là chuẩn hóa ngày hôm nay là DB quan hệ) và bỏ qua tất cả phần mềm trung gian và các lớp chỉ mô phỏng chức năng mà người ta có thể nhận được một cách tự nhiên trong một OODBMS. Tôi đã thấy các OODBs đơn giản được cài đặt trên bất kỳ số máy chủ nào và tự động phân phối dữ liệu khi cần, đồng thời cung cấp cho nhà phát triển một chế độ xem bất kỳ liên kết kích thước cơ sở dữ liệu nào ... để có được một DB có thể có kiến ​​trúc phân tán riêng. Dù sao, chỉ là một ý nghĩ.