Giải thích về thuật ngữ BASE


170

Từ viết tắt BASE được sử dụng để mô tả các thuộc tính của một số cơ sở dữ liệu nhất định, thường là cơ sở dữ liệu NoQuery. Nó thường được gọi là đối nghịch với ACID .

Chỉ có một vài bài viết liên quan đến các chi tiết của BASE, trong khi ACID có rất nhiều bài viết chi tiết về từng tính chất nguyên tử, tính nhất quán, cách ly và độ bền. Wikipedia chỉ dành một vài dòng cho thuật ngữ này.

Điều này cho tôi một số câu hỏi về định nghĩa :

B về cơ bản A có sẵn, trạng thái S oft, tính nhất quán E

Tôi đã diễn giải các tính chất này như sau, sử dụng bài viết này và trí tưởng tượng của tôi:

Về cơ bản có sẵn có thể đề cập đến sự sẵn có nhận thức của dữ liệu. Nếu một nút duy nhất thất bại, một phần dữ liệu sẽ không khả dụng, nhưng toàn bộ lớp dữ liệu vẫn hoạt động.

  • Là giải thích này chính xác, hoặc nó đề cập đến một cái gì đó khác?
  • Cập nhật: suy luận từ câu trả lời của Mau , điều đó có nghĩa là toàn bộ lớp dữ liệu luôn chấp nhận dữ liệu mới, tức là không có kịch bản khóa nào ngăn dữ liệu được chèn ngay lập tức?

Trạng thái mềm : Tất cả những gì tôi có thể tìm thấy là khái niệm dữ liệu cần làm mới thời gian. Nếu không làm mới, dữ liệu sẽ hết hạn hoặc bị xóa.

  • Tự động xóa dữ liệu trong cơ sở dữ liệu có vẻ lạ đối với tôi.
  • Dữ liệu hết hạn hoặc cũ có ý nghĩa hơn. Nhưng khái niệm này sẽ áp dụng cho bất kỳ loại lưu trữ dữ liệu dư thừa nào, không chỉ NoQuery. Nó mô tả một cái gì đó khác sau đó?

Tính nhất quán cuối cùng có nghĩa là các bản cập nhật cuối cùng sẽ gợn qua tất cả các máy chủ, được cung cấp đủ thời gian.

  • Tài sản này là rõ ràng với tôi.

Ai đó có thể giải thích chi tiết các tính chất này?

Hay đó chỉ là một từ viết tắt xa xôi và vô nghĩa đề cập đến các khái niệm về axit và bazơ như trong hóa học?

Câu trả lời:


194

Từ viết tắt BASE được định nghĩa bởi Eric Brewer , người cũng được biết đến với việc xây dựng định lý CAP .

Định lý CAP chỉ ra rằng một hệ thống máy tính phân tán không thể đảm bảo tất cả ba thuộc tính sau cùng một lúc:

  • Tính nhất quán
  • khả dụng
  • Dung sai phân vùng

Một hệ thống BASE từ bỏ tính nhất quán.

  • Về cơ bản có sẵn chỉ ra rằng hệ thống không sẵn sàng bảo lãnh, về mặt lý CAP.
  • Trạng thái mềm cho biết trạng thái của hệ thống có thể thay đổi theo thời gian, ngay cả khi không có đầu vào. Điều này là do các mô hình nhất quán cuối cùng.
  • Tính nhất quán cuối cùng chỉ ra rằng hệ thống sẽ trở nên nhất quán theo thời gian, với điều kiện là hệ thống không nhận được đầu vào trong thời gian đó.

Nhà sản xuất bia thừa nhận rằng từ viết tắt bị chiếm đoạt :

Tôi đã đưa ra từ viết tắt [BASE] với các sinh viên của tôi trong văn phòng của họ vào đầu năm đó. Tôi đồng ý rằng nó bị chiếm đoạt một chút, nhưng "ACID" cũng vậy - nhiều hơn mọi người nhận ra, vì vậy chúng tôi cho rằng nó đã đủ tốt.


33
Về cơ bản có sẵn KHÔNG đảm bảo có sẵn. điều đó có nghĩa là, nó hầu như có sẵn nhưng các máy chủ có thể ngừng hoạt động vì nhiều lý do.
DarthVader

@Neils, vậy ACID có từ bỏ tính khả dụng hay dung sai không?
Pacerier

@Pacerier, đó là nơi định lý CAP bắt đầu hiển thị các lỗ hổng của nó :) Nếu hệ thống đảm bảo dung sai phân vùng, nó sẽ hy sinh tính khả dụng trong trường hợp phân vùng. Nếu hệ thống đảm bảo tính khả dụng, nó sẽ từ bỏ dung sai phân vùng, điều đó có nghĩa là phân vùng sẽ khiến hệ thống không khả dụng (hoặc không nhất quán). Vì vậy, bạn có thể thấy rằng 'tính khả dụng' và 'dung sai phân vùng' song hành với nhau. Có nhiều chi tiết hơn về điều này trong bài viết này .
Niels van der Rest

1
Một cách không khoa học, nhưng theo quan sát của tôi, khi nói về Dịch vụ web, ACID thường được liên kết với SOAP và BASE liên kết chặt chẽ hơn với các dịch vụ REST (RESTful). Và để có một cuộc thảo luận rõ ràng hơn về tính nhất quán của Sự kiện, hãy xem cuộc tranh luận giữa những người ủng hộ MongoDB và CouchDB.
charles ross

"Định lý" của CAP được mổ xẻ về mặt toán học (nhưng rất dễ đọc) và được thảo luận theo một cách thông minh độc đáo của Mark Burgess , người có bài viết tôi đang đọc. (Tôi đã được liên kết ở đó ngay từ đầu bởi Wikipedia .)
Wildcard

45

Nó liên quan đến BASE : loại nhảy BASE luôn có sẵn về cơ bản (đối với các mối quan hệ mới), ở trạng thái Mềm (không có mối quan hệ nào của anh ta kéo dài rất lâu) và Cuối cùng anh ta sẽ kết hôn (một ngày nào đó anh ta sẽ kết hôn).


Ok, vậy bạn đang nói cơ sở dữ liệu ACID tốt hơn nhiều so với BASE?
Pacerier

2
Au contraire, BASE luôn vui hơn.
Mậu

8
Chà, đó thực sự là bánh mì hàng ngày của tôi và nếu bạn muốn có một câu trả lời nghiêm túc, ACID.
Mậu

1
@Pacerier Eric Brewer ho đặt ra BASE hạn, chỉ ra rằng trong khi các ngân hàng và tổ chức tài chính nói về những hạn chế ACID, trong thực tế, họ không nói đúng ( highscalability.com/blog/2013/5/1/... )
andand

2
@Pacerier và Mau, còn NewQuery thì sao? Bạn có chọn nó qua NoQuery (BASE) và quan hệ (ACID) không?
Boris Mocialov

6
  • Tính khả dụng cơ bản : Cơ sở dữ liệu dường như hoạt động hầu hết thời gian.

  • Trạng thái mềm : Các cửa hàng không nhất thiết phải nhất quán bằng văn bản hoặc nhất quán lẫn nhau mọi lúc.

  • Tính nhất quán cuối cùng : Dữ liệu phải luôn nhất quán, liên quan đến cách thực hiện bất kỳ số lượng thay đổi nào.


4

ACID và BASE là các mô hình nhất quán cho RDBMS và NoQuery tương ứng. Các giao dịch ACID bi quan hơn nhiều, tức là họ lo lắng hơn về an toàn dữ liệu. Trong thế giới cơ sở dữ liệu NoQuery, các giao dịch ACID ít thời trang hơn vì một số cơ sở dữ liệu đã nới lỏng các yêu cầu về tính nhất quán ngay lập tức, độ mới và độ chính xác của dữ liệu để đạt được các lợi ích khác, như khả năng mở rộng và khả năng phục hồi.

BASE là viết tắt của -

  • Sẵn có cơ bản - Cơ sở dữ liệu dường như hoạt động hầu hết thời gian.
  • Trạng thái mềm - Các cửa hàng không nhất quán phải viết, cũng như các bản sao khác nhau phải nhất quán lẫn nhau mọi lúc.
  • Tính nhất quán cuối cùng - Cửa hàng trưng bày tính nhất quán tại một số điểm sau đó (ví dụ: lười biếng tại thời điểm đọc).

Do đó, BASE làm giảm tính nhất quán để cho phép hệ thống xử lý yêu cầu ngay cả trong trạng thái không nhất quán.

Ví dụ : Không ai bận tâm nếu tweet của họ không nhất quán trong mạng xã hội của họ trong một khoảng thời gian ngắn. Điều quan trọng là nhận được phản hồi ngay lập tức hơn là có trạng thái thông tin nhất quán của người dùng.


1
Sự nhất quán cuối cùng thực sự có tác động không mong muốn. Bạn đã bao giờ trải nghiệm chậm trò chuyện LinkedIn. Bạn trả lời bằng một câu, và sau đó trả lời bằng một câu khác. Sau đó, do tính nhất quán cuối cùng hoặc không thực hiện đúng, bạn kết thúc với hai câu trả lời của mình được chuyển đổi cùng nhau. Có, cuối cùng bạn đã nhận được 2 câu trả lời trong cuộc trò chuyện, nhưng chúng không theo thứ tự dự định.
zmechanic

2

Để thêm vào các câu trả lời khác, tôi nghĩ các từ viết tắt được rút ra để hiển thị thang đo giữa hai thuật ngữ để phân biệt cách các giao dịch hoặc yêu cầu đáng tin cậy trong đó giữa RDMS so với Dữ liệu lớn.

Từ bài viết này axit vs bazơ

Trong Hóa học, pH đo độ cơ bản và độ axit tương đối của dung dịch nước (dung môi trong nước). Thang đo pH kéo dài từ 0 (các chất có tính axit cao như axit pin) đến 14 (các chất có tính kiềm cao như nói dối); nước tinh khiết ở 77 ° F (25 ° C) có độ pH là 7 và là trung tính.

Các kỹ sư dữ liệu đã khéo léo mượn axit so với bazơ từ các nhà hóa học và tạo ra các từ viết tắt mà không chính xác theo nghĩa của chúng, vẫn là những đại diện thích hợp cho những gì đang xảy ra trong một hệ thống cơ sở dữ liệu nhất định khi thảo luận về độ tin cậy của xử lý giao dịch.

Một điểm khác, vì tôi làm việc với Dữ liệu lớn bằng cách sử dụng Elaticsearch. Để làm rõ, một thể hiện của Elaticsearch là một nút và một nhóm các nút tạo thành một cụm.

Đối với tôi từ quan điểm thực tế, BA (Về cơ bản có sẵn), trong bối cảnh này, có ý tưởng về nhiều nút chính để xử lý cụm Elaticsearch và hoạt động của nó.

Nếu bạn có 3 nút chính và nút chủ hiện đang điều khiển bị hỏng, hệ thống sẽ hoạt động, mặc dù ở trạng thái kém hiệu quả hơn và một nút chính khác sẽ thay thế nó là nút chính chỉ đạo. Nếu hai nút chính đi xuống, hệ thống vẫn ở lại và nút chủ cuối cùng tiếp quản.


0

Có thể là do ACID là một tập hợp các tính chất mà các chất thể hiện (trong Hóa học) và BASE là một tập hợp bổ sung của chúng. Vì vậy, có thể chỉ là cho thấy sự tương phản giữa hai từ viết tắt được tạo thành và sau đó 'Có sẵn về cơ bản Tính nhất quán của trạng thái mềm 'được quyết định là dạng đầy đủ.


2
Điều đó có thể giải thích cách viết tắt của từ này, nhưng không giải thích ý nghĩa của các tính chất khác nhau .
Jmb

Việc sử dụng các từ như 'Về cơ bản', thậm chí không có ý nghĩa về mặt ý nghĩa mà chúng mang lại cho thấy từ viết tắt được chọn trước tiên (ACID so với BASE) và sau đó các từ được tìm thấy để điền vào các phần của từ viết tắt . Đó có lẽ là lý do tại sao chúng tôi không tìm thấy nhiều giải thích và tài liệu tham khảo (so với các từ trong ACID, giải thích mà bạn có thể tìm thấy trong mỗi trang nói về RDBMS) với ý nghĩa của những từ này.
siebenheaven

Tôi thấy điều này thú vị chính xác, vì "Về cơ bản có sẵn" dường như rất gượng ép.
Ricardo Pedroni
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.