คำอธิบายของคำศัพท์พื้นฐาน


170

BASEย่อใช้เพื่ออธิบายคุณสมบัติของฐานข้อมูลบางอย่างมักฐานข้อมูล NoSQL มันมักจะเรียกว่าตรงข้ามของกรด

มีบทความเพียงไม่กี่ที่สัมผัสอยู่กับรายละเอียดของฐานในขณะที่กรดมีความอุดมสมบูรณ์ของบทความที่ซับซ้อนในแต่ละ Atomicity ความสอดคล้องแยกและความทนทานคุณสมบัติ วิกิพีเดียใช้คำไม่กี่คำเท่านั้น

ทำให้ฉันมีคำถามบางอย่างเกี่ยวกับคำนิยาม :

B asically A vailable, S oft state, E ventual สอดคล้อง

ฉันได้ตีความคุณสมบัติเหล่านี้ดังนี้ใช้บทความนี้และจินตนาการของฉัน:

ที่มีอยู่ทั่วไปอาจหมายถึงการรับรู้ข้อมูลที่มีอยู่ หากโหนดเดียวล้มเหลวส่วนหนึ่งของข้อมูลจะไม่สามารถใช้ได้ แต่ชั้นข้อมูลทั้งหมดยังคงทำงานได้

  • การตีความนี้ถูกต้องหรืออ้างถึงสิ่งอื่นหรือไม่?
  • อัปเดต: การอนุมานจากคำตอบของ Mauอาจหมายถึงว่าชั้นข้อมูลทั้งหมดยอมรับข้อมูลใหม่อยู่เสมอนั่นคือไม่มีสถานการณ์ล็อคที่ป้องกันไม่ให้มีการแทรกข้อมูลทันที?

สถานะอ่อน : ทั้งหมดที่ฉันสามารถหาได้คือแนวคิดของข้อมูลที่ต้องการการรีเฟรชช่วงเวลา หากไม่มีการรีเฟรชข้อมูลจะหมดอายุหรือถูกลบ

  • การลบข้อมูลในฐานข้อมูลโดยอัตโนมัตินั้นดูแปลกสำหรับฉัน
  • ข้อมูลที่หมดอายุหรือค้างทำให้เหมาะสมมากขึ้น แต่แนวคิดนี้จะนำไปใช้กับการจัดเก็บข้อมูลซ้ำซ้อนทุกประเภทไม่เพียง แต่ NoSQL มันอธิบายอย่างอื่นแล้ว?

ความสอดคล้องในที่สุดหมายถึงว่าการปรับปรุงก็จะกระเพื่อมผ่านไปยังเซิร์ฟเวอร์ทั้งหมดให้เวลามากพอ

  • คุณสมบัตินี้ชัดเจนสำหรับฉัน

มีคนอธิบายรายละเอียดของคุณสมบัติเหล่านี้ได้ไหม

หรือจะเป็นเพียงตัวย่อที่ลึกซึ้งและมีความหมายที่หมายถึงแนวความคิดของกรดและเบสเป็นพบในวิชาเคมี?

คำตอบ:


194

ย่อ BASE ถูกกำหนดโดยเอริคบรูเออร์ที่ยังเป็นที่รู้จักกันสำหรับการกำหนดทฤษฎีบท CAP

ทฤษฎีบทของ CAP ระบุว่าระบบคอมพิวเตอร์แบบกระจายไม่สามารถรับประกันคุณสมบัติทั้งสามต่อไปนี้ได้ในเวลาเดียวกัน:

  • ความมั่นคง
  • ความพร้อมใช้งาน
  • ความอดทนพาร์ทิชัน

ระบบ BASE ยอมแพ้ต่อความสอดคล้อง

  • โดยทั่วไปที่มีอยู่แสดงให้เห็นว่าระบบไม่พร้อมใช้งานรับประกันในแง่ของทฤษฎีบทหมวก
  • สถานะซอฟต์บ่งชี้ว่าสถานะของระบบอาจมีการเปลี่ยนแปลงเมื่อเวลาผ่านไปแม้จะไม่มีอินพุต นี่เป็นเพราะรูปแบบความสอดคล้องในที่สุด
  • ความสอดคล้องในที่สุดบ่งชี้ว่าระบบจะมีความสอดคล้องตลอดเวลาเนื่องจากระบบไม่ได้รับอินพุตในช่วงเวลานั้น

บรูเออร์ยอมรับว่าตัวย่อถูกประดิษฐ์ :

ฉันพบตัวย่อ [BASE] กับนักเรียนของฉันที่สำนักงานของพวกเขาเมื่อต้นปี ฉันยอมรับว่ามันถูกประดิษฐ์ขึ้นเล็กน้อย แต่ก็เป็น "กรด" - มากกว่าที่ผู้คนตระหนักถึงดังนั้นเราจึงคิดว่ามันดีพอ


33
โดยทั่วไปจะไม่รับประกันความพร้อมใช้งาน มันหมายความว่ามันจะใช้ได้ส่วนใหญ่ แต่เซิร์ฟเวอร์อาจจะไปลงด้วยเหตุผลต่างๆ
DarthVader

@ Neils กรดจะไม่ให้ความพร้อมใช้งานหรือความอดทนในการ patition?
Pacerier

@Pacerier นั่นคือที่ที่ทฤษฎีบท CAP เริ่มแสดงข้อบกพร่อง :) หากระบบรับประกันความทนทานต่อการแบ่งพาร์ติชันมันจะเสียความพร้อมในกรณีที่มีพาร์ติชัน หากระบบรับประกันความพร้อมใช้งานระบบจะยอมให้มีการยอมรับพาร์ติชันซึ่งหมายความว่าพาร์ติชันจะทำให้ระบบไม่พร้อมใช้งาน (หรือไม่สอดคล้องกัน) ดังนั้นคุณจะเห็นว่า 'ความพร้อมใช้งาน' และ 'ความทนทานต่อการแบ่งพาร์ติชัน' เป็นไปด้วยกัน มีรายละเอียดเพิ่มเติมเกี่ยวกับเรื่องนี้ในบทความนี้
นีลส์แวนเดอร์ส่วนที่เหลือ

1
ตามหลักวิทยาศาสตร์ แต่จากการสังเกตของฉันเมื่อพูดถึงบริการทางเว็บ ACID ส่วนใหญ่มักเกี่ยวข้องกับ SOAP และ BASE นั้นสัมพันธ์กับบริการ REST (RESTful) มากขึ้น และสำหรับการสนทนาที่ละเอียดยิ่งขึ้นเกี่ยวกับความสอดคล้องในที่สุดให้ดูการอภิปรายระหว่างผู้สนับสนุน MongoDB และ CouchDB
charles รอส

หมวก "ทฤษฎีบท" ถูกชำแหละทางคณิตศาสตร์ ( แต่มาก readably) และพูดคุยกันในวิธีการที่ชาญฉลาดที่ไม่ซ้ำกันโดย Mark ประชากรซึ่งบทความผมในการอ่านความคืบหน้า (ฉันถูกเชื่อมโยงมีในสถานที่แรกโดยวิกิพีเดีย .)
Wildcard

45

มันเกี่ยวข้องกับBASE : จัมเปอร์ชนิด BASE นั้นมีพื้นฐานอยู่เสมอ (สำหรับความสัมพันธ์ใหม่) ในสถานะที่นุ่มนวล (ไม่มีความสัมพันธ์ของเขานานนัก) และสอดคล้องกันในที่สุด (หนึ่งวันเขาจะแต่งงาน)


ตกลงดังนั้นคุณกำลังบอกว่าฐานข้อมูลกรดดีกว่า BASE หรือไม่
Pacerier

2
ในทางตรงกันข้าม BASE สนุกกว่าเสมอ
เมา

8
นั่นคือขนมปังประจำวันของฉันจริง ๆ และถ้าคุณต้องการคำตอบที่จริงจังกรด
เมา

1
@Pacerier เอริคบรูเออร์โฮประกาศเกียรติคุณฐานระยะแสดงให้เห็นว่าในขณะที่ธนาคารและสถาบันการเงินพูดคุยเกี่ยวกับข้อ จำกัด ของกรดในความเป็นจริงพวกเขาจะไม่พูดอย่างเคร่งครัด ( highscalability.com/blog/2013/5/1/... )
andand

2
@Pacerier และ Mau แล้ว NewSQL ล่ะ? คุณจะเลือกมากกว่า NoSQL (BASE) และ relational (ACID) หรือไม่
Boris Mocialov

6
  • ความพร้อมใช้งานพื้นฐาน : ฐานข้อมูลปรากฏในการทำงานมากที่สุดของเวลา

  • สถานะอ่อน : ร้านค้าไม่จำเป็นต้องมีความสอดคล้องกันของการเขียนหรือความสอดคล้องกันตลอดเวลา

  • ความสอดคล้องในที่สุด : ข้อมูลควรสอดคล้องกันเสมอโดยคำนึงถึงจำนวนการเปลี่ยนแปลงที่จะเกิดขึ้น


4

ACID และ BASE เป็นแบบจำลองความสอดคล้องสำหรับ RDBMS และ NoSQL ตามลำดับ การทำธุรกรรมกรดที่อยู่ห่างไกลในแง่ร้ายมากขึ้นกล่าวคือพวกเขามีความกังวลมากขึ้นเกี่ยวกับความปลอดภัยข้อมูล ในโลกของฐานข้อมูล NoSQL ธุรกรรม ACID มีความทันสมัยน้อยลงเนื่องจากฐานข้อมูลบางตัวได้คลายข้อกำหนดสำหรับความสอดคล้องกันในทันทีความสดของข้อมูลและความแม่นยำเพื่อให้ได้รับประโยชน์อื่น ๆ เช่นความยืดหยุ่นและความยืดหยุ่น

BASE หมายถึง -

  • ความพร้อมใช้งานขั้นพื้นฐาน - ฐานข้อมูลดูเหมือนจะใช้งานได้เกือบตลอดเวลา
  • Soft-state - ร้านค้าไม่จำเป็นต้องมีความสอดคล้องกันในการเขียนและไม่ต้องทำแบบจำลองที่แตกต่างกันตลอดเวลา
  • ความสอดคล้องในที่สุด - ร้านค้าจัดแสดงความมั่นคงในบางจุดในภายหลัง (เช่นขี้เกียจในเวลาอ่าน)

ดังนั้น BASE จะคลายความสอดคล้องเพื่อให้ระบบประมวลผลคำขอได้แม้อยู่ในสถานะไม่สอดคล้องกัน

ตัวอย่าง : ไม่มีใครอยากรู้ถ้าทวีตของพวกเขาไม่สอดคล้องกันในเครือข่ายสังคมออนไลน์ในช่วงเวลาสั้น ๆ การรับการตอบสนองอย่างรวดเร็วนั้นสำคัญกว่าการมีข้อมูลที่สอดคล้องกันของผู้ใช้


1
ความสอดคล้องในที่สุดจริง ๆ แล้วมีผลกระทบที่ไม่พึงประสงค์ คุณเคยมีประสบการณ์การแชทใน LinkedIn ที่ช้าลงหรือไม่ คุณตอบด้วยประโยคหนึ่งประโยคแล้วตอบกลับด้วยอีกประโยคหนึ่ง จากนั้นเนื่องจากความสอดคล้องในที่สุดหรือขาดการใช้งานที่เหมาะสมของมันคุณจบลงด้วยการตอบกลับของคุณทั้งสองสลับกัน ใช่คุณได้รับ 2 การตอบกลับในการแชทในตอนท้าย แต่พวกเขาไม่ได้อยู่ในลำดับที่ตั้งใจ
zmechanic

2

เพื่อเพิ่มคำตอบอื่น ๆ ฉันคิดว่าคำย่อมาจากการแสดงมาตราส่วนระหว่างคำสองคำเพื่อแยกความแตกต่างของธุรกรรมหรือคำขอที่เชื่อถือได้ระหว่าง RDMS และ Big Data

จากบทความกรดเทียบกับเบสนี้

ในวิชาเคมี pH จะวัดความเป็นกรดและเบสพื้นฐานของสารละลาย (สารละลายในน้ำ) ระดับค่า pH ขยายจาก 0 (สารที่เป็นกรดสูงเช่นกรดแบตเตอรี่) ถึง 14 (สารที่เป็นด่างสูงเช่นโกหก); น้ำบริสุทธิ์ที่ 77 ° F (25 ° C) มีค่า pH 7 และเป็นกลาง

วิศวกรข้อมูลได้ยืมชาญฉลาดเป็นกรดเทียบกับฐานจากนักเคมีและตัวย่อที่สร้างขึ้นในขณะที่ไม่แน่นอนในความหมายของพวกเขาเป็นตัวแทนยังคงมีแนวโน้มที่สิ่งที่เกิดขึ้นในระบบฐานข้อมูลที่ได้รับเมื่อพูดถึงความน่าเชื่อถือของการประมวลผลการทำธุรกรรม

อีกจุดหนึ่งเนื่องจากฉันทำงานกับ Big Data โดยใช้ Elasticsearch เพื่อชี้แจงตัวอย่างของ Elasticsearch เป็นโหนดและกลุ่มของโหนดในรูปแบบคลัสเตอร์

สำหรับฉันจากมุมมองที่ใช้งานได้จริง BA (มีพื้นฐาน) ในบริบทนี้มีความคิดเกี่ยวกับโหนดต้นแบบหลายตัวที่จะจัดการกับกลุ่ม Elasticsearch และการดำเนินงานของมัน

หากคุณมีโหนดหลัก 3 โหนดและโหนดต้นแบบที่นำทางในปัจจุบันหยุดทำงานระบบจะยังคงทำงานอยู่แม้ว่าจะอยู่ในสถานะที่มีประสิทธิภาพน้อยกว่า หากสองโหนดหลักล้มเหลวระบบจะยังคงอยู่และโหนดหลักสุดท้ายจะเข้าแทนที่


0

อาจเป็นเพราะกรดเป็นคุณสมบัติหนึ่งชุดที่สารแสดง (ในวิชาเคมี) และ BASE เป็นชุดประกอบของพวกมันดังนั้นอาจเป็นเพียงการแสดงความแตกต่างระหว่างสองตัวย่อที่ประกอบขึ้นแล้ว 'มีพื้นฐาน Soft State Consistency 'ถูกตัดสินเนื่องจากเป็นแบบเต็มรูปแบบ


2
ที่อาจอธิบายวิธีย่อมาจะมีอยู่ แต่ไม่ได้อธิบายสิ่งที่คุณสมบัติต่างๆหมายถึง
Jmb

การใช้คำเช่น 'พื้นฐาน' ซึ่งไม่ได้มีนัยสำคัญแม้แต่ในแง่ของความหมายที่พวกเขานำมาเสนอแนะว่ามีการเลือกคำย่อก่อน (ACID กับ BASE) จากนั้นคำเหล่านั้นก็พบว่าเรียงลำดับในส่วนของตัวย่อ . นั่นอาจเป็นเหตุผลที่เราไม่พบคำอธิบายและการอ้างอิงจำนวนมาก (เปรียบเทียบกับคำจากกรด, คำอธิบายที่คุณสามารถพบได้ในทุกหน้าที่พูดถึง RDBMS) กับความหมายของคำเหล่านี้
siebenheaven

ฉันพบว่าสิ่งนี้ถูกต้องอย่างน่าสนใจเนื่องจาก "มีพื้นฐาน" ดูเหมือนจะถูกบังคับเช่นนั้น
Ricardo Pedroni
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.