1.1. Technical Overview1.1.1. Document StorageA CouchDB server hosts n การแปล - 1.1. Technical Overview1.1.1. Document StorageA CouchDB server hosts n ไทย วิธีการพูด

1.1. Technical Overview1.1.1. Docum

1.1. Technical Overview
1.1.1. Document Storage
A CouchDB server hosts named databases, which store documents. Each document is uniquely named in the database, and CouchDB provides aRESTful HTTP API for reading and updating (add, edit, delete) database documents.
Documents are the primary unit of data in CouchDB and consist of any number of fields and attachments. Documents also include metadata that’s maintained by the database system. Document fields are uniquely named and contain values of varying types (text, number, boolean, lists, etc), and there is no set limit to text size or element count.
The CouchDB document update model is lockless and optimistic. Document edits are made by client applications loading documents, applying changes, and saving them back to the database. If another client editing the same document saves their changes first, the client gets an edit conflict error on save. To resolve the update conflict, the latest document version can be opened, the edits reapplied and the update tried again.
Document updates (add, edit, delete) are all or nothing, either succeeding entirely or failing completely. The database never contains partially saved or edited documents.
1.1.2. ACID Properties
The CouchDB file layout and commitment system features all Atomic Consistent Isolated Durable (ACID) properties. On-disk, CouchDB never overwrites committed data or associated structures, ensuring the database file is always in a consistent state. This is a “crash-only” design where the CouchDB server does not go through a shut down process, it’s simply terminated.
Document updates (add, edit, delete) are serialized, except for binary blobs which are written concurrently. Database readers are never locked out and never have to wait on writers or other readers. Any number of clients can be reading documents without being locked out or interrupted by concurrent updates, even on the same document. CouchDB read operations use a Multi-Version Concurrency Control (MVCC) model where each client sees a consistent snapshot of the database from the beginning to the end of the read operation.
Documents are indexed in B-trees by their name (DocID) and a Sequence ID. Each update to a database instance generates a new sequential number. Sequence IDs are used later for incrementally finding changes in a database. These B-tree indexes are updated simultaneously when documents are saved or deleted. The index updates always occur at the end of the file (append-only updates).
Documents have the advantage of data being already conveniently packaged for storage rather than split out across numerous tables and rows in most database systems. When documents are committed to disk, the document fields and metadata are packed into buffers, sequentially one document after another (helpful later for efficient building of views).
When CouchDB documents are updated, all data and associated indexes are flushed to disk and the transactional commit always leaves the database in a completely consistent state. Commits occur in two steps:
1. All document data and associated index updates are synchronously flushed to disk.
2. The updated database header is written in two consecutive, identical chunks to make up the first 4k of the file, and then synchronously flushed to disk.
In the event of an OS crash or power failure during step 1, the partially flushed updates are simply forgotten on restart. If such a crash happens during step 2 (committing the header), a surviving copy of the previous identical headers will remain, ensuring coherency of all previously committed data. Excepting the header area, consistency checks or fix-ups after a crash or a power failure are never necessary.
1.1.3. Compaction
Wasted space is recovered by occasional compaction. On schedule, or when the database file exceeds a certain amount of wasted space, the compaction process clones all the active data to a new file and then discards the old file. The database remains completely online the entire time and all updates and reads are allowed to complete successfully. The old database file is deleted only when all the data has been copied and all users transitioned to the new file.
1.1.4. Views
ACID properties only deal with storage and updates, but we also need the ability to show our data in interesting and useful ways. Unlike SQL databases where data must be carefully decomposed into tables, data in CouchDB is stored in semi-structured documents. CouchDB documents are flexible and each has its own implicit structure, which alleviates the most difficult problems and pitfalls of bi-directionally replicating table schemas and their contained data.
But beyond acting as a fancy file server, a simple document model for data storage and sharing is too simple to build real applications on – it simply doesn’t do enough of the things we want and expect. We want to slice and dice and see our data in many different ways. What is needed is a way to filter, organize and report on data that hasn’t been decomposed into tables.
See also
Guide to Views
View Model
To address this problem of adding structure back to unstructured and semi-structured data, CouchDB integrates a view model. Views are the method of aggregating and reporting on the documents in a database, and are built on-demand to aggregate, join and report on database documents. Because views are built dynamically and don’t affect the underlying document, you can have as many different view representations of the same data as you like.
View definitions are strictly virtual and only display the documents from the current database instance, making them separate from the data they display and compatible with replication. CouchDB views are defined inside special design documents and can replicate across database instances like regular documents, so that not only data replicates in CouchDB, but entire application designs replicate too.
Javascript View Functions
Views are defined using Javascript functions acting as the map part in a map-reduce system. A view function takes a CouchDB document as an argument and then does whatever computation it needs to do to determine the data that is to be made available through the view, if any. It can add multiple rows to the view based on a single document, or it can add no rows at all.
See also
View functions
View Indexes
Views are a dynamic representation of the actual document contents of a database, and CouchDB makes it easy to create useful views of data. But generating a view of a database with hundreds of thousands or millions of documents is time and resource consuming, it’s not something the system should do from scratch each time.
To keep view querying fast, the view engine maintains indexes of its views, and incrementally updates them to reflect changes in the database. CouchDB’s core design is largely optimized around the need for efficient, incremental creation of views and their indexes.
Views and their functions are defined inside special “design” documents, and a design document may contain any number of uniquely named view functions. When a user opens a view and its index is automatically updated, all the views in the same design document are indexed as a single group.
The view builder uses the database sequence ID to determine if the view group is fully up-to-date with the database. If not, the view engine examines the all database documents (in packed sequential order) changed since the last refresh. Documents are read in the order they occur in the disk file, reducing the frequency and cost of disk head seeks.
The views can be read and queried simultaneously while also being refreshed. If a client is slowly streaming out the contents of a large view, the same view can be concurrently opened and refreshed for another client without blocking the first client. This is true for any number of simultaneous client readers, who can read and query the view while the index is concurrently being refreshed for other clients without causing problems for the readers.
As documents are processed by the view engine through your ‘map’ and ‘reduce’ functions, their previous row values are removed from the view indexes, if they exist. If the document is selected by a view function, the function results are inserted into the view as a new row.
When view index changes are written to disk, the updates are always appended at the end of the file, serving to both reduce disk head seek times during disk commits and to ensure crashes and power failures can not cause corruption of indexes. If a crash occurs while updating a view index, the incomplete index updates are simply lost and rebuilt incrementally from its previously committed state
1.1.5. Security and Validation
To protect who can read and update documents, CouchDB has a simple reader access and update validation model that can be extended to implement custom security models.
See also
/db/_security
Administrator Access
CouchDB database instances have administrator accounts. Administrator accounts can create other administrator accounts and update design documents. Design documents are special documents containing view definitions and other special formulas, as well as regular fields and blobs.
Update Validation
As documents written to disk, they can be validated dynamically by javascript functions for both security and data validation. When the document passes all the formula validation criteria, the update is allowed to continue. If the validation fails, the update is aborted and the user client gets an error response.
Both the user’s credentials and the updated document are given as inputs to the validation formula, and can be used to implement custom security models by validating a user’s permissions to update a document.
A basic “author only” update document model is trivial to implement, where document updates are validated to check if the user is listed in an “author” field in the existing document. More dynamic
0/5000
จาก: -
เป็น: -
ผลลัพธ์ (ไทย) 1: [สำเนา]
คัดลอก!
1.1. เทคนิคภาพรวม1.1.1 เก็บเอกสารโฮสต์เซิร์ฟเวอร์ CouchDB ชื่อฐานข้อมูล การจัดเก็บเอกสาร ฐานข้อมูลเฉพาะชื่อเอกสารแต่ละ และ CouchDB ให้ aRESTful HTTP API สำหรับการอ่าน และปรับปรุง (เพิ่ม แก้ไข ลบ) ฐานข้อมูลเอกสารเอกสารเป็นหน่วยหลักของข้อมูลใน CouchDB และประกอบด้วยหมายเลขของฟิลด์สิ่งที่แนบมา เอกสารยังประกอบด้วยข้อมูลเมตาที่ถูกเก็บรักษา โดยระบบฐานข้อมูล เขตข้อมูลเอกสารโดยเฉพาะการตั้งชื่อ และประกอบด้วยค่าของชนิดที่แตกต่างกัน (ข้อความ หมายเลข บูลีน รายชื่อ ฯลฯ), และมีข้อจำกัดการตั้งค่าจำนวนขนาดหรือองค์ประกอบของข้อความแบบจำลองการปรับปรุงเอกสาร CouchDB จะ lockless และในเชิงบวก แอพลิเคชันไคลเอนต์โหลดเอกสาร ใช้การเปลี่ยนแปลง และบันทึกกลับไปยังฐานข้อมูลการแก้ไขเอกสาร ถ้าไคลเอนต์อื่นที่แก้ไขเอกสารเดียวกันบันทึกการเปลี่ยนแปลงครั้งแรก ได้รับการไคลเอ็นต์ที่การแก้ไขความขัดแย้งข้อผิดพลาดในบันทึก การขัด การปรับปรุงเอกสารรุ่นล่าสุดสามารถเปิด แก้ไขการแสดงและการปรับปรุงที่พยายามอีกครั้งเอกสารปรับปรุง (เพิ่ม แก้ไข ลบ) มีทั้งหมดหรือไม่ โปรแกรมทั้งหมด หรือล้มเหลวอย่างสมบูรณ์ ฐานข้อมูลไม่เคยประกอบด้วยบันทึกไว้บางส่วน หรือแก้ไขเอกสาร1.1.2 คุณสมบัติกรดCouchDB ระบบแฟ้มแบบเค้าโครงและความมุ่งมั่นทำงานคุณสมบัติทั้งหมดที่อะตอมตรงแยกทนทาน (กรด) บนดิสก์ CouchDB ไม่จะบันทึกทับข้อมูลที่กำหนดให้ หรือที่เกี่ยวข้องโครงสร้าง แฟ้มฐานข้อมูลอยู่ในสถานะสอดคล้องกันเสมอมั่นใจ นี่คือการออกแบบ "ความล้มเหลวเดียว" ที่เซิร์ฟเวอร์ CouchDB ไม่ผ่านปิดกระบวนการ ก็จบเอกสารปรับปรุง (เพิ่ม แก้ไข ลบ) จะทำให้อนุกรม ยกเว้น blobs สีฐานที่เขียนขึ้นพร้อมกัน ผู้อ่านฐานข้อมูลถูกล็อกไม่ออก และไม่ต้องรอคอยผู้เขียนหรือผู้ จำนวนลูกค้าสามารถจะอ่านเอกสาร โดยไม่มีการล็อคการใช้งาน หรือถูกขัดจังหวะ โดยโปรแกรมปรับปรุงพร้อมกัน แม้ในเอกสารเดียวกัน CouchDB อ่านดำเนินการใช้แบบจำลองการควบคุมการเกิดพร้อมกันหลายรุ่น (MVCC) ซึ่งลูกค้าแต่ละรายเห็นช็อตที่สอดคล้องกันของฐานข้อมูลจากจุดเริ่มต้นของการอ่านเอกสารมีดัชนีในบีทรี (DocID) ชื่อและลำดับที่รหัส ปรับปรุงแต่ละอินสแตนซ์ของฐานข้อมูลสร้างหมายเลขลำดับใหม่ รหัสลำดับที่ใช้ในภายหลังสำหรับการค้นหาการเปลี่ยนแปลงในฐานข้อมูลแบบเพิ่มหน่วย ดัชนีเหล่านี้บี-ทรีจะปรับปรุงพร้อมกันเมื่อเอกสารถูกบันทึก หรือลบ การปรับปรุงดัชนีเกิดขึ้นเสมอในตอนท้ายของไฟล์ (ปรับปรุงผนวกเดียว)มีข้อดีในการบรรจุแล้วเชิญสำหรับเก็บข้อมูล แทนที่แบ่งหลายตารางและแถวในระบบฐานข้อมูลส่วนใหญ่ เมื่อเอกสารให้ดิสก์ ฟิลด์เอกสารและ metadata จะบรรจุลงในบัฟเฟอร์ เอกสารลำดับหนึ่งหลังจากที่อื่น (ประโยชน์ในภายหลังสำหรับอาคารที่มีประสิทธิภาพของมุมมอง)เมื่อ CouchDB เอกสารมีการปรับปรุง ข้อมูลและดัชนีที่เกี่ยวข้องทั้งหมดที่ล้างดิสก์และการยอมรับทรานแซคชันเสมอออกจากฐานข้อมูลในสถานะสอดคล้องกันอย่างสมบูรณ์ ตกลงที่เกิดขึ้นในขั้นตอนที่สอง:1. ทั้งหมดเอกสารข้อมูล และปรับปรุงดัชนีที่เกี่ยวข้องกล่าวล้างดิสก์2. หัวข้อการปรับปรุงฐานข้อมูลการเขียนในสองคืนติดต่อกัน เหมือนก้อนจะทำให้ค่า k 4 แรกของแฟ้ม แล้ว กล่าวล้างดิสก์ในกรณีที่ระบบปฏิบัติการผิดพลาด หรือพลังงานความล้มเหลวระหว่างขั้นตอนที่ 1 การปรับปรุงบางส่วน flushed มีเพียงลืมเมื่อเริ่มระบบใหม่ ถ้าปัญหาดังกล่าวเกิดขึ้นในระหว่างขั้นตอนที่ 2 (หัวข้อการยอมรับ), สำเนาหัวเหมือนก่อนหน้านี้ที่รอดตายจะยังคงอยู่ มั่นใจ coherency ทั้งหมดก่อนหน้านี้ยอมรับข้อมูล Excepting ตั้งหัวข้อ การตรวจสอบความสอดคล้องหรือ ups แก้ไขหลังจากล้มหรือพลังงานไม่จำเป็น1.1.3 การกระชับข้อมูลพื้นที่เสียจะกู้คืน โดยการกระชับข้อมูลเป็นครั้งคราว กำหนดการ หรือ เมื่อแฟ้มฐานข้อมูลเกินจำนวนของเสีย โคลนกระบวนการกระชับข้อมูลข้อมูลทั้งหมดใช้งานอยู่ไปยังแฟ้มใหม่ และจากนั้น ละเว้นแฟ้มเก่า ฐานข้อมูลยังคงออนไลน์ทั้งหมดเวลาทั้งหมด และโปรแกรมปรับปรุงและอ่านทั้งหมดได้รับอนุญาตให้เสร็จสมบูรณ์ แฟ้มฐานข้อมูลเก่าจะถูกลบออกเฉพาะเมื่อมีการคัดลอกข้อมูลทั้งหมด และผู้ใช้ทั้งหมด transitioned ไปยังแฟ้มใหม่1.1.4 การมุมมองคุณสมบัติกรดเฉพาะเรื่องการจัดเก็บและปรับปรุง แต่เราต้องสามารถแสดงข้อมูลในรูปแบบที่น่าสนใจ และมีประโยชน์ ซึ่งแตกต่างจากฐานข้อมูล SQL ซึ่งข้อมูลต้องมีอย่างรอบคอบแยกเป็นตาราง ข้อมูลใน CouchDB ถูกเก็บอยู่ในเอกสารที่มีโครงสร้างกึ่ง เอกสาร CouchDB จะมีความยืดหยุ่น และมีตนนัยโครงสร้าง ที่ alleviates ปัญหาและข้อผิดพลาดของ bi directionally จำลองตารางแผนและข้อมูลมีความยากที่สุดแต่นอกเหนือจากทำหน้าที่เป็นเซิร์ฟเวอร์แฟ้มแฟนซี แบบเอกสารอย่างง่ายสำหรับการจัดเก็บข้อมูลและร่วมกันหน่อยเพื่อสร้างโปรแกรมประยุกต์จริง – มันก็ไม่ได้ทำพอในสิ่งที่เราต้องการ และคาดหวัง เราต้องการหั่น และอาวุธ และดูข้อมูลในหลาย ๆ สิ่งที่จำเป็นคือ วิธีการกรอง จัดระเบียบ และรายงานข้อมูลที่ไม่ถูกย่อยสลายไปเป็นตารางดูแนะนำมุมมองดูแบบจำลองเพื่อแก้ไขปัญหานี้เพิ่มโครงสร้างกลับไม่มีโครงสร้าง และกึ่งโครงสร้างข้อมูล CouchDB รวมแบบดู วิธีการรวบรวม และรายงานเอกสารในฐานข้อมูล และสร้างขึ้นตามความต้องการรวม การรวม และการรายงานในฐานข้อมูลเอกสาร เนื่องจากมุมมองสร้างขึ้นแบบไดนามิก และไม่ส่งผลกระทบต่อเอกสารต้นแบบ คุณสามารถได้มากมุมมองที่แตกต่างกันเป็นตัวแทนของข้อมูลเดียวกันต้องข้อกำหนดมุมมองเป็นเสมือนอย่างเคร่งครัด และแสดงเอกสารจากสแตนซ์ฐานข้อมูลปัจจุบัน ทำให้พวกเขาแยกต่างหากจากข้อมูลที่พวกเขาแสดง และเข้ากันได้กับการจำลองแบบเท่านั้น CouchDB ไว้ภายในเอกสารที่ออกแบบพิเศษ และสามารถทำซ้ำในอินสแตนซ์ของฐานข้อมูลเช่นเอกสารทั่วไป เพื่อให้ข้อมูลไม่เหมือนกับ ใน CouchDB แต่ทั้งหมด โปรแกรมประยุกต์ออกแบบจำลองมากเกินไปดูฟังก์ชัน Javascriptมุมมองที่กำหนดโดยใช้ฟังก์ชัน Javascript ที่ทำหน้าที่เป็นส่วนหนึ่งของแผนที่ในแบบแผนที่ลดระบบการ ฟังก์ชันมุมมองใช้เอกสาร CouchDB เป็นอาร์กิวเมนต์ และจากนั้น คำนวณสิ่งที่ต้องทำเพื่อกำหนดข้อมูลที่จะใช้ผ่านมุมมอง ถ้ามี มันสามารถเพิ่มหลายแถวให้ดูตามเอกสารเดียว หรือมันสามารถเพิ่มแถวไม่ได้เลยดูดูหน้าที่ดูดัชนีเป็นการนำเสนอแบบไดนามิกเนื้อหาเอกสารจริงของฐานข้อมูล และ CouchDB ทำให้สะดวกในการสร้างมุมมองที่เป็นประโยชน์ของข้อมูล แต่สร้างมุมของฐานข้อมูลที่มีหลายร้อยหลายพันหรือล้านเอกสารเป็นเวลาและการใช้ทรัพยากร มันไม่ใช่สิ่งที่ระบบควรทำตั้งแต่ต้นทุกครั้งให้ดูที่สอบถามดูได้อย่างรวดเร็ว รักษาดัชนีของมุมมอง และปรับปรุงให้สะท้อนถึงการเปลี่ยนแปลงในฐานข้อมูลแบบเพิ่มหน่วย ใหญ่สุดออกแบบหลักของ CouchDB สถานต้องมีประสิทธิภาพ เพิ่มการสร้างมุมมองและดัชนีมีกำหนดมุมมองและหน้าที่ภายในเอกสารพิเศษ "ออกแบบ" และเอกสารการออกแบบอาจประกอบด้วยจำนวนดูเฉพาะชื่อฟังก์ชัน เมื่อผู้ใช้เปิดมุมมอง และดัชนีมีการปรับปรุงโดยอัตโนมัติ มีการทำดัชนีมุมมองทั้งหมดในเอกสารออกแบบเดียวกันเป็นกลุ่มเดียวสร้างมุมมองใช้รหัสลำดับฐานข้อมูลเพื่อกำหนดว่ากลุ่มดูทันสมัยอย่างกับฐานข้อมูล ถ้า ไม่มี ดูเครื่องยนต์ตรวจสอบทั้งหมดฐานข้อมูลเอกสาร (ในลำดับบรรจุ) เปลี่ยนแปลงตั้งแต่ฟื้นฟูครั้งล่าสุด อ่านเอกสารตามลำดับเกิดขึ้นในแฟ้มดิสก์ พยายามลดความถี่และทุนของดิสก์หัวThe views can be read and queried simultaneously while also being refreshed. If a client is slowly streaming out the contents of a large view, the same view can be concurrently opened and refreshed for another client without blocking the first client. This is true for any number of simultaneous client readers, who can read and query the view while the index is concurrently being refreshed for other clients without causing problems for the readers.As documents are processed by the view engine through your ‘map’ and ‘reduce’ functions, their previous row values are removed from the view indexes, if they exist. If the document is selected by a view function, the function results are inserted into the view as a new row.When view index changes are written to disk, the updates are always appended at the end of the file, serving to both reduce disk head seek times during disk commits and to ensure crashes and power failures can not cause corruption of indexes. If a crash occurs while updating a view index, the incomplete index updates are simply lost and rebuilt incrementally from its previously committed state1.1.5. Security and ValidationTo protect who can read and update documents, CouchDB has a simple reader access and update validation model that can be extended to implement custom security models.See also/db/_securityAdministrator AccessCouchDB database instances have administrator accounts. Administrator accounts can create other administrator accounts and update design documents. Design documents are special documents containing view definitions and other special formulas, as well as regular fields and blobs.Update ValidationAs documents written to disk, they can be validated dynamically by javascript functions for both security and data validation. When the document passes all the formula validation criteria, the update is allowed to continue. If the validation fails, the update is aborted and the user client gets an error response.Both the user’s credentials and the updated document are given as inputs to the validation formula, and can be used to implement custom security models by validating a user’s permissions to update a document.A basic “author only” update document model is trivial to implement, where document updates are validated to check if the user is listed in an “author” field in the existing document. More dynamic
การแปล กรุณารอสักครู่..
ผลลัพธ์ (ไทย) 2:[สำเนา]
คัดลอก!
1.1 ภาพรวมทางเทคนิค
1.1.1 จัดเก็บเอกสารโฮสต์เซิร์ฟเวอร์ฐานข้อมูลชื่อ CouchDB ซึ่งจัดเก็บเอกสาร
เอกสารแต่ละชื่อไม่ซ้ำกันในฐานข้อมูลและ CouchDB ให้ API HTTP aRESTful สำหรับการอ่านและการปรับปรุง (เพิ่มแก้ไขลบ) เอกสารฐานข้อมูล.
เอกสารที่เป็นหน่วยหลักของข้อมูลใน CouchDB และประกอบด้วยจำนวนของเขตข้อมูลและสิ่งที่แนบใด ๆ เอกสาร ได้แก่ เมตาดาต้าที่เก็บรักษาโดยระบบฐานข้อมูล สาขาเอกสารที่มีชื่อไม่ซ้ำกันและมีค่าของชนิดที่แตกต่างกัน (ข้อความจำนวนบูล, รายการ, ฯลฯ ) และไม่มีวงเงินที่กำหนดขนาดข้อความหรือนับองค์ประกอบ.
รูปแบบการปรับปรุงเอกสาร CouchDB เป็น lockless และในแง่ดี แก้ไขเอกสารจะทำโดยการโหลดเอกสารที่ใช้งานของลูกค้าใช้การเปลี่ยนแปลงและการบันทึกพวกเขากลับไปยังฐานข้อมูล หากลูกค้าแก้ไขเอกสารเดียวกันจะบันทึกการเปลี่ยนแปลงของพวกเขาครั้งแรกที่ลูกค้าได้รับข้อผิดพลาดแก้ไขความขัดแย้งที่บันทึก เพื่อแก้ปัญหาความขัดแย้งการปรับปรุงรุ่นเอกสารล่าสุดสามารถเปิดแก้ไขและนำมาใช้ปรับปรุงพยายามอีกครั้ง.
ปรับปรุงเอกสาร (เพิ่มแก้ไขลบ) มีทั้งหมดหรือไม่มีอะไรอย่างใดอย่างหนึ่งที่ประสบความสำเร็จอย่างสิ้นเชิงหรือไม่สมบูรณ์ ฐานข้อมูลที่ไม่เคยมีการบันทึกไว้บางส่วนหรือแก้ไขเอกสาร.
1.1.2 กรดคุณสมบัติรูปแบบไฟล์ CouchDB และระบบการมุ่งมั่นที่มีทั้งหมดของอะตอมที่สอดคล้องกันที่แยกทนทาน (กรด) คุณสมบัติ
บนดิสก์ CouchDB ไม่เคยเขียนทับข้อมูลที่มีความมุ่งมั่นหรือโครงสร้างที่เกี่ยวข้องเพื่อให้มั่นใจว่าไฟล์ฐานข้อมูลอยู่เสมอในสถานะที่สอดคล้องกัน นี่คือ "ความผิดพลาดอย่างเดียว" การออกแบบที่เซิร์ฟเวอร์ CouchDB ไม่ได้ไปผ่านกระบวนการที่ปิดตัวลงก็สิ้นสุดลงเพียงแค่.
การปรับปรุงเอกสาร (เพิ่มแก้ไขลบ) มีความต่อเนื่องยกเว้น blobs ไบนารีที่เขียนควบคู่กันไป ฐานข้อมูลผู้อ่านที่ไม่เคยล็อคออกและไม่เคยต้องรอนักเขียนหรือผู้อ่านอื่น ๆ จำนวนของลูกค้าใด ๆ สามารถอ่านเอกสารได้โดยไม่ถูกล็อคออกหรือขัดจังหวะด้วยการปรับปรุงพร้อมกันแม้ในเอกสารเดียวกัน CouchDB อ่านการดำเนินงานใช้แบบ Multi-Version Concurrency ควบคุม (MVCC) รูปแบบที่ลูกค้าแต่ละคนเห็นภาพรวมที่สอดคล้องกันของฐานข้อมูลจากจุดเริ่มต้นถึงจุดสิ้นสุดของการดำเนินการอ่านที่.
เอกสารจะถูกจัดทำดัชนีใน B-ต้นไม้โดยใช้ชื่อของพวกเขา (DocID) และ ID ลำดับ ปรับปรุงฐานข้อมูลเช่นแต่ละสร้างหมายเลขลำดับใหม่ รหัสลำดับต่อมาจะมีการใช้เพิ่มขึ้นสำหรับการหาการเปลี่ยนแปลงในฐานข้อมูล เหล่านี้ดัชนี B ต้นไม้ที่มีการปรับปรุงไปพร้อม ๆ กันเมื่อเอกสารจะถูกบันทึกไว้หรือลบ การปรับปรุงดัชนีมักจะเกิดขึ้นในตอนท้ายของไฟล์ (ผนวกเท่านั้นการปรับปรุง).
เอกสารที่ได้ประโยชน์จากข้อมูลที่ถูกบรรจุอยู่แล้วสิ่งอำนวยความสะดวกสำหรับการจัดเก็บมากกว่าแยกออกไปทั่วโต๊ะจำนวนมากและส่วนใหญ่แถวในระบบฐานข้อมูล เมื่อเอกสารที่มีความมุ่งมั่นไปยังดิสก์เขตข้อมูลเอกสารและข้อมูลที่มีการบรรจุลงในบัฟเฟอร์ลำดับเอกสารหนึ่งหลังจากที่อื่น (ที่เป็นประโยชน์ในภายหลังสำหรับอาคารที่มีประสิทธิภาพของมุมมอง).
เมื่อเอกสาร CouchDB มีการปรับปรุงข้อมูลทั้งหมดและดัชนีที่เกี่ยวข้องจะล้างไปยังดิสก์และการทำธุรกรรม กระทำมักจะออกจากฐานข้อมูลในสภาพที่สอดคล้องอย่างสมบูรณ์ มุ่งมั่นที่จะเกิดขึ้นในขั้นตอนที่สอง:
1 ข้อมูลทั้งหมดเอกสารและการปรับปรุงดัชนีที่เกี่ยวข้องจะล้างพร้อมกันไปยังดิสก์.
2 ส่วนหัวปรับปรุงฐานข้อมูลถูกเขียนขึ้นในลำดับสองชิ้นเหมือนกันที่จะทำขึ้นเป็นครั้งแรก 4k ของไฟล์แล้ว.
แดงพร้อมกันไปยังดิสก์ในกรณีที่มีความผิดพลาดของระบบปฏิบัติการหรือไฟฟ้าดับในระหว่างขั้นตอนที่1 การปรับปรุงแดงบางส่วนจะลืมเพียง ในการรีสตาร์ท ถ้าเช่นความผิดพลาดเกิดขึ้นในระหว่างขั้นตอนที่ 2 (การกระทำส่วนหัว) สำเนาที่หลงเหลืออยู่ในหัวเหมือนกันก่อนหน้านี้จะยังคงมีความมั่นใจว่าการเชื่อมโยงกันของข้อมูลทั้งหมดมุ่งมั่นที่ก่อนหน้านี้ ยกเว้นพื้นที่ส่วนหัวตรวจสอบความสอดคล้องหรือแก้ไขอัพหลังจากความผิดพลาดหรือความล้มเหลวอำนาจจะไม่จำเป็น.
1.1.3
บดอัดพื้นที่ที่สูญเสียมีการกู้คืนโดยการบดอัดเป็นครั้งคราว ตามกำหนดเวลาหรือเมื่อไฟล์ฐานข้อมูลเกินจำนวนหนึ่งของการสูญเสียพื้นที่โคลนกระบวนการบดอัดข้อมูลทั้งหมดที่ใช้งานอยู่ไปยังแฟ้มใหม่แล้วทิ้งไฟล์เก่า ฐานข้อมูลออนไลน์ที่ยังคงอยู่อย่างสมบูรณ์ตลอดเวลาและการปรับปรุงและอ่านได้รับอนุญาตให้เสร็จสมบูรณ์ ไฟล์ฐานข้อมูลเก่าจะถูกลบออกเฉพาะเมื่อข้อมูลทั้งหมดที่ได้รับการคัดลอกและผู้ใช้ทุกคนเปลี่ยนไปยังแฟ้มใหม่.
1.1.4 ชมคุณสมบัติของกรดจัดการเฉพาะกับการจัดเก็บและการปรับปรุง แต่เรายังต้องการความสามารถที่จะแสดงข้อมูลของเราในรูปแบบที่น่าสนใจและมีประโยชน์
ซึ่งแตกต่างจากฐานข้อมูล SQL ที่ข้อมูลจะต้องมีการย่อยสลายอย่างระมัดระวังในตารางข้อมูลใน CouchDB ถูกเก็บไว้ในเอกสารกึ่งโครงสร้าง เอกสาร CouchDB จะมีความยืดหยุ่นและแต่ละคนมีโครงสร้างนัยของตัวเองซึ่งบรรเทาปัญหาที่ยากที่สุดและข้อผิดพลาดของสองทิศทาง schemas ตารางจำลองและข้อมูลของพวกเขาที่มีอยู่.
แต่นอกเหนือจากการทำหน้าที่เป็นไฟล์เซิร์ฟเวอร์แฟนซีรูปแบบเอกสารที่ง่ายสำหรับการจัดเก็บข้อมูลและการแบ่งปัน ง่ายเกินไปที่จะสร้างโปรแกรมประยุกต์จริงบน - มันก็ไม่ได้ทำมากพอในสิ่งที่เราต้องการและคาดหวัง เราต้องการที่จะหั่นลูกเต๋าและดูข้อมูลของเราในรูปแบบที่แตกต่างกันมาก จำเป็นต้องมีสิ่งที่เป็นวิธีที่จะกรองจัดระเบียบและรายงานข้อมูลที่ไม่ได้รับการย่อยสลายเป็นตาราง. ดูคู่มือการชมดูรุ่นการแก้ไขปัญหาของการเพิ่มโครงสร้างกลับไปที่ข้อมูลที่ไม่มีโครงสร้างและกึ่งโครงสร้างนี้CouchDB รวมมุมมอง รูปแบบ มุมมองวิธีการรวมและการรายงานเกี่ยวกับเอกสารในฐานข้อมูลและถูกสร้างขึ้นตามความต้องการที่จะรวมเข้าร่วมและรายงานเกี่ยวกับเอกสารฐานข้อมูล เพราะมุมมองที่ถูกสร้างขึ้นแบบไดนามิกและไม่ส่งผลกระทบต่อเอกสารพื้นฐานที่คุณสามารถมีจำนวนมากการแสดงมุมมองที่แตกต่างกันของข้อมูลเช่นเดียวกับที่คุณต้องการ. คำจำกัดความดูเสมือนเป็นอย่างเคร่งครัดและมีเพียงแสดงเอกสารจากฐานข้อมูลเช่นในปัจจุบันที่ทำให้พวกเขาแยกออกจาก ข้อมูลที่พวกเขาแสดงและเข้ากันได้กับการจำลองแบบ มุมมอง CouchDB ที่กำหนดไว้ภายในเอกสารการออกแบบพิเศษและสามารถทำซ้ำข้ามกรณีฐานข้อมูลเช่นเอกสารปกติดังนั้นที่ไม่เพียง แต่ข้อมูลที่ซ้ำใน CouchDB แต่การออกแบบโปรแกรมทั้งหมดทำซ้ำมากเกินไป. Javascript ดูฟังก์ชั่นเข้าชมจะถูกกำหนดโดยใช้ฟังก์ชั่นจาวาสคริปต์ที่ทำหน้าที่เป็นส่วนหนึ่งแผนที่ที่แผนที่ลดระบบ ฟังก์ชั่นมุมมองที่จะนำเอกสาร CouchDB เป็นอาร์กิวเมนต์และจากนั้นจะคำนวณสิ่งที่มันต้องการที่จะทำเพื่อตรวจสอบข้อมูลที่อยู่ที่จะให้บริการผ่านมุมมองในกรณีใด ๆ มันสามารถเพิ่มแถวหลายมุมมองบนพื้นฐานของเอกสารฉบับเดียวหรือสามารถเพิ่มแถวที่ทุกคน. ดูเพิ่มเติมดูฟังก์ชั่นดูดัชนีชมเป็นตัวแทนแบบไดนามิกของเนื้อหาเอกสารที่แท้จริงของฐานข้อมูลและCouchDB ทำให้ง่ายต่อการสร้าง มุมมองการใช้งานของข้อมูล แต่การสร้างมุมมองของฐานข้อมูลที่มีหลายร้อยหลายพันหรือล้านเอกสารเป็นเวลาและการบริโภคทรัพยากรมันไม่ใช่สิ่งที่ระบบควรจะทำตั้งแต่เริ่มต้นในแต่ละครั้ง. เพื่อให้มุมมองการสอบถามอย่างรวดเร็วเครื่องยนต์มุมมองรักษาดัชนีมุมมองของตนและเพิ่มขึ้น ปรับปรุงพวกเขาที่จะสะท้อนให้เห็นถึงการเปลี่ยนแปลงในฐานข้อมูล การออกแบบหลักของ CouchDB เหมาะรอบส่วนใหญ่จำเป็นที่จะต้องมีประสิทธิภาพที่เพิ่มขึ้นของการสร้างมุมมองและดัชนีของพวกเขา. ชมและฟังก์ชั่นของพวกเขามีการกำหนดภายในพิเศษ "การออกแบบ" เอกสารและเอกสารการออกแบบอาจมีจำนวนของชื่อไม่ซ้ำกันฟังก์ชั่นมุมมองใด ๆ เมื่อผู้ใช้เปิดมุมมองและดัชนีมีการปรับปรุงโดยอัตโนมัติทุกมุมมองในเอกสารการออกแบบเดียวกันมีการจัดทำดัชนีเป็นกลุ่มเดียว. สร้างมุมมองที่ใช้ลำดับฐานข้อมูลประจำตัวประชาชนเพื่อตรวจสอบว่ากลุ่มมุมมองเป็นอย่าง up-to-date กับ ฐานข้อมูล ถ้าไม่ได้เครื่องยนต์มุมมองตรวจสอบเอกสารฐานข้อมูล (ตามลำดับบรรจุ) การเปลี่ยนแปลงตั้งแต่การฟื้นฟูที่ผ่านมา เอกสารจะถูกอ่านในลำดับที่พวกเขาเกิดขึ้นในแฟ้มดิสก์ลดความถี่และค่าใช้จ่ายของหัวดิสก์พยายาม. มุมมองที่สามารถอ่านและสอบถามพร้อมกันในขณะที่ยังมีการฟื้นฟู หากลูกค้าจะช้าสตรีมมิ่งจากเนื้อหาของมุมมองที่มีขนาดใหญ่, มุมมองเดียวกันสามารถเปิดได้พร้อมกันและฟื้นฟูสำหรับลูกค้าอื่นโดยไม่ปิดกั้นลูกค้ารายแรก นี้เป็นจริงสำหรับจำนวนของผู้อ่านของลูกค้าพร้อมกันใด ๆ ที่สามารถอ่านและสอบถามมุมมองในขณะที่ดัชนีจะพร้อมที่จะถูกฟื้นฟูสำหรับลูกค้าอื่น ๆ โดยไม่ก่อให้เกิดปัญหาสำหรับผู้อ่าน. ในฐานะที่เป็นเอกสารที่มีการประมวลผลโดยเครื่องมือมุมมองผ่าน 'แผนที่' และ ' ลด 'ฟังก์ชั่นค่าแถวก่อนหน้านี้ของพวกเขาจะถูกลบออกจากดัชนีมุมมองถ้าพวกเขามีอยู่ หากเอกสารถูกเลือกโดยฟังก์ชั่นดูผลการทำงานจะแทรกเข้าไปในมุมมองที่เป็นแถวใหม่. the เมื่อมีการเปลี่ยนแปลงดัชนีมุมมองที่จะถูกเขียนไปยังดิสก์ปรับปรุงจะถูกผนวกเสมอที่จุดสิ้นสุดของแฟ้มที่ให้บริการทั้งลดหัวดิสก์ ขอเวลาในระหว่างการกระทำดิสก์และเพื่อให้แน่ใจว่าเกิดความผิดพลาดและความล้มเหลวอำนาจไม่สามารถทำให้เกิดความเสียหายของดัชนี ถ้ามีความผิดพลาดเกิดขึ้นขณะที่การปรับปรุงดัชนีมุมมองการปรับปรุงดัชนีที่ไม่สมบูรณ์ก็จะหายไปและสร้างใหม่เพิ่มขึ้นจากรัฐมุ่งมั่นที่ก่อนหน้านี้1.1.5 การรักษาความปลอดภัยและการตรวจสอบเพื่อป้องกันที่สามารถอ่านและเอกสารปรับปรุง CouchDB มีผู้อ่านเข้าถึงง่ายและปรับปรุงรูปแบบการตรวจสอบที่สามารถขยายการดำเนินการรูปแบบการรักษาความปลอดภัยที่กำหนดเอง. ดูเพิ่มเติม/ DB / _security ผู้ดูแลการเข้าถึงCouchDB กรณีฐานข้อมูลมีบัญชีผู้ดูแลระบบ บัญชีผู้ดูแลระบบสามารถสร้างบัญชีผู้ดูแลระบบอื่น ๆ และเอกสารการออกแบบปรับปรุง เอกสารการออกแบบเอกสารคำจำกัดความพิเศษที่มีมุมมองและสูตรพิเศษอื่น ๆ เช่นเดียวกับสาขาปกติและ blobs. ปรับปรุงการตรวจสอบในฐานะที่เป็นเอกสารที่เขียนไปยังดิสก์พวกเขาสามารถตรวจสอบแบบไดนามิกโดยฟังก์ชั่นจาวาสคริปต์สำหรับทั้งการรักษาความปลอดภัยและการตรวจสอบข้อมูล เมื่อเอกสารที่ผ่านการตรวจสอบเกณฑ์ที่ทุกสูตรปรับปรุงได้รับอนุญาตให้ดำเนินการต่อไป หากตรวจสอบล้มเหลว, การปรับปรุงจะถูกยกเลิกและลูกค้าผู้ใช้ที่ได้รับการตอบสนองข้อผิดพลาด. ทั้งข้อมูลประจำตัวของผู้ใช้และเอกสารที่มีการปรับปรุงจะได้รับเป็นปัจจัยการผลิตสูตรการตรวจสอบและสามารถนำมาใช้ในการดำเนินรูปแบบการรักษาความปลอดภัยที่กำหนดเองโดยการตรวจสอบสิทธิ์ของผู้ใช้เพื่อ ปรับปรุงเอกสาร. พื้นฐาน "ของผู้เขียนเท่านั้น" รูปแบบเอกสารที่ปรับปรุงเล็ก ๆ น้อย ๆ ในการดำเนินการที่มีการปรับปรุงเอกสารการตรวจสอบเพื่อตรวจสอบว่าผู้ใช้ที่เป็น บริษัท จดทะเบียนใน "ผู้เขียน" เขตข้อมูลในเอกสารที่มีอยู่ แบบไดนามิกมากขึ้น


























การแปล กรุณารอสักครู่..
ผลลัพธ์ (ไทย) 3:[สำเนา]
คัดลอก!
1.1 . สำหรับภาพรวมทางเทคนิค
. จัดเก็บเอกสารการ couchdb เซิร์ฟเวอร์โฮสต์ชื่อฐานข้อมูล จัดเก็บเอกสาร เอกสารแต่ละอย่างชื่อในฐานข้อมูล และ couchdb ให้ arestful HTTP API สำหรับการอ่านและปรับปรุง ( เพิ่ม , แก้ไข , ลบ ) เอกสารฐานข้อมูล .
เอกสารเป็นหน่วยหลักของข้อมูลใน couchdb และประกอบด้วยจำนวนของเขตข้อมูลและสิ่งที่แนบมาเอกสารยังรวมถึงข้อมูลที่ดูแลระบบฐานข้อมูล ด้านเอกสาร มี ชื่อ และประกอบด้วยค่าของชนิดที่แตกต่างกัน ( ข้อความ , ตัวเลข , ตรรกะ , รายชื่อ , ฯลฯ ) และไม่มีการกำหนดวงเงินให้ขนาดตัวอักษรหรือนับองค์ประกอบ
ปรับปรุงเอกสาร couchdb แบบ lockless และมองโลกในแง่ดี เอกสารการแก้ไขที่ทำโดยโปรแกรมไคลเอนต์โหลดเอกสาร การสมัคร การเปลี่ยนแปลงและบันทึกกลับไปที่ฐานข้อมูล ถ้าลูกค้าคนอื่นแก้ไขเอกสารเดียวกันจะทำการบันทึกการเปลี่ยนแปลงของพวกเขาแรกลูกค้าจะได้รับการแก้ไขความขัดแย้ง เกิดข้อผิดพลาดในการบันทึก แก้ไข ปรับปรุง การจัดการความขัดแย้ง รุ่นของเอกสารล่าสุดสามารถเปิด แก้ไข และปรับปรุงนํามาใช้อีกพยายามอีกครั้ง .
ปรับปรุงเอกสาร ( เพิ่ม , แก้ไข , ลบ ) ทั้งหมดหรือไม่มีอะไรทำทั้งหมด หรือ ล้มเหลว โดยสิ้นเชิงฐานข้อมูลไม่เคยมีบางส่วนบันทึกหรือแก้ไขเอกสาร
1.1.2 . คุณสมบัติของกรด
couchdb ไฟล์รูปแบบและระบบความมุ่งมั่นทั้งหมดสอดคล้องแยกอะตอมคุณสมบัติทนทาน ( กรด ) คุณสมบัติ บนดิสก์ couchdb ไม่เคยเขียนทับได้ข้อมูลหรือโครงสร้างที่เกี่ยวข้องมั่นใจได้ว่าไฟล์ฐานข้อมูลอยู่ในสถานะที่สอดคล้องกันนี้คือ " ชน " เท่านั้น การออกแบบที่ couchdb เซิร์ฟเวอร์ไม่ได้ไปปิดกระบวนการมันก็สิ้นสุดลง
ปรับปรุงเอกสาร ( เพิ่ม , แก้ไข , ลบ ) จะเป็นอันดับ ยกเว้นการไบนารีที่เขียนไว้พร้อม ฐานข้อมูลผู้อ่านไม่เคยล็อคออก และไม่ต้องรอเมื่อผู้เขียนหรือผู้อ่านอื่น ๆหมายเลขใด ๆของลูกค้าสามารถอ่านเอกสารโดยไม่ถูกล็อคออกหรือถูกรบกวนโดยการปรับปรุงพร้อมกัน แม้ในเอกสารเดียวกัน couchdb อ่านการใช้มัลติรุ่นการควบคุม ( mvcc ) รุ่นที่ลูกค้าแต่ละรายจะเห็นภาพรวมที่สอดคล้องกันของฐานข้อมูลจากจุดเริ่มต้นไปยังจุดสิ้นสุดของ
อ่านการดําเนินงานเอกสารดัชนีใน b-trees โดยชื่อของพวกเขา ( docid ) และลำดับ ID แต่ละการปรับปรุงฐานข้อมูลตัวอย่างสร้างหมายเลขลำดับใหม่ ลำดับ รหัสที่ใช้ในภายหลังสำหรับการเปลี่ยนแปลงแบบเพิ่มหน่วยค้นหาในฐานข้อมูล ดัชนีต้นไม้เหล่านี้มีการปรับปรุงพร้อมกัน เมื่อมีเอกสารบันทึกหรือลบ ดัชนีการปรับปรุงมักจะเกิดขึ้นที่ส่วนท้ายของแฟ้ม ( .
อัพเดทเท่านั้น )เอกสารที่ได้ประโยชน์จากข้อมูลที่ถูกบรรจุแล้วสะดวกสำหรับกระเป๋า แทนที่จะแยกออกไปทั่วหลายตารางและแถวในระบบฐานข้อมูลมากที่สุด เมื่อมีเอกสารยืนยันไปยังดิสก์ , เอกสารและเขตข้อมูลบรรจุในบัฟเฟอร์ , เป็นหนึ่งเอกสารหลังจากที่อื่น ( ที่เป็นประโยชน์ในภายหลังสำหรับอาคารที่มีประสิทธิภาพของมุมมอง ) .
เมื่อเอกสาร couchdb มีการปรับปรุงข้อมูลและดัชนีที่เกี่ยวข้องทั้งหมดจะถูกล้างดิสก์และการกระทำเสมอใบฐานข้อมูลในสถานะที่สอดคล้องกันอย่างสมบูรณ์ จะเกิดขึ้นในสองขั้นตอน :
1 ข้อมูลเอกสารที่เกี่ยวข้องทั้งหมดและดัชนีปรับปรุง synchronously ล้างดิสก์ .
2 การปรับปรุงฐานข้อมูลส่วนหัวจะเขียนติดกันสองชิ้นที่เหมือนกัน , การแต่งหน้า 4K ครั้งแรกในแฟ้มแล้ว synchronously ล้างดิสก์ .
ในกรณีที่ OS ผิดพลาดหรือพลังงานความล้มเหลวในขั้นตอนที่ 1 แล้ว มีการปรับปรุงบางส่วนเพียงลืมเกี่ยวกับการเริ่มต้น . ถ้าความผิดพลาดเกิดขึ้นในระหว่างขั้นตอนที่ 2 ( ทำส่วนหัว ) , การคัดลอกของเดิม เหมือนหัวจะยังคงมั่นใจรับสั่งทั้งหมดก่อนหน้านี้ยืนยันข้อมูล ยกเว้นบริเวณหัว
การแปล กรุณารอสักครู่..
 
ภาษาอื่น ๆ
การสนับสนุนเครื่องมือแปลภาษา: กรีก, กันนาดา, กาลิเชียน, คลิงออน, คอร์สิกา, คาซัค, คาตาลัน, คินยารวันดา, คีร์กิซ, คุชราต, จอร์เจีย, จีน, จีนดั้งเดิม, ชวา, ชิเชวา, ซามัว, ซีบัวโน, ซุนดา, ซูลู, ญี่ปุ่น, ดัตช์, ตรวจหาภาษา, ตุรกี, ทมิฬ, ทาจิก, ทาทาร์, นอร์เวย์, บอสเนีย, บัลแกเรีย, บาสก์, ปัญจาป, ฝรั่งเศส, พาชตู, ฟริเชียน, ฟินแลนด์, ฟิลิปปินส์, ภาษาอินโดนีเซี, มองโกเลีย, มัลทีส, มาซีโดเนีย, มาราฐี, มาลากาซี, มาลายาลัม, มาเลย์, ม้ง, ยิดดิช, ยูเครน, รัสเซีย, ละติน, ลักเซมเบิร์ก, ลัตเวีย, ลาว, ลิทัวเนีย, สวาฮิลี, สวีเดน, สิงหล, สินธี, สเปน, สโลวัก, สโลวีเนีย, อังกฤษ, อัมฮาริก, อาร์เซอร์ไบจัน, อาร์เมเนีย, อาหรับ, อิกโบ, อิตาลี, อุยกูร์, อุสเบกิสถาน, อูรดู, ฮังการี, ฮัวซา, ฮาวาย, ฮินดี, ฮีบรู, เกลิกสกอต, เกาหลี, เขมร, เคิร์ด, เช็ก, เซอร์เบียน, เซโซโท, เดนมาร์ก, เตลูกู, เติร์กเมน, เนปาล, เบงกอล, เบลารุส, เปอร์เซีย, เมารี, เมียนมา (พม่า), เยอรมัน, เวลส์, เวียดนาม, เอสเปอแรนโต, เอสโทเนีย, เฮติครีโอล, แอฟริกา, แอลเบเนีย, โคซา, โครเอเชีย, โชนา, โซมาลี, โปรตุเกส, โปแลนด์, โยรูบา, โรมาเนีย, โอเดีย (โอริยา), ไทย, ไอซ์แลนด์, ไอร์แลนด์, การแปลภาษา.

Copyright ©2025 I Love Translation. All reserved.

E-mail: