Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> ฐานข้อมูล

Couchbase: ฐานข้อมูล NoSQL ที่ขยายได้สำหรับแอปพลิเคชันประสิทธิภาพสูง

บล็อกนี้สำรวจ Couchbase® ซึ่งเป็นฐานข้อมูล NoSQL แบบ Distributed สำหรับ Document และ Key-Value ที่เป็น Open-Source เผยแพร่ภายใต้ Apache® 2.0 License

บทนำ

Couchbase ให้การจัดการข้อมูล Low-Latency สำหรับแอปพลิเคชันออนไลน์แบบ Interactive ขนาดใหญ่ ซึ่งจัดการคำขอของผู้ใช้ เช่น การเพิ่ม ลบ ดึงนำเสนอ และจัดการข้อมูล เพื่อรองรับแอปพลิเคชันเหล่านี้ ข้อมูลควรอยู่ในรูปแบบที่ง่ายต่อการ Scale และเข้าถึง ความต้องการนี้นำไปสู่การเกิด Couchbase Server® ซึ่งสร้างขึ้นหลังจากการรวมกันของสองเทคโนโลยี NoSQL ยอดนิยม คือ Membase® และ CouchDB®

Membase พัฒนาโดย NorthScale ภายใต้โปรเจกต์ memcached ออกแบบเป็น Key-Value Store ที่มีความเรียบง่าย ความเร็ว และความสามารถในการ Scale ของ memcached พร้อมกับความสามารถในการจัดเก็บ Persistence และ Query ของฐานข้อมูล

CouchDB ใช้ JSON สำหรับการแสดงข้อมูล และมี Built-in Replication เขียนด้วย Erlang™ CouchDB พัฒนาโดย Damien Katz ในปี 2005 และกลายเป็น Apache Project ในปี 2008

ในปี 2011 Membase, Inc. และ Couchone บริษัทหลังโปรเจกต์ CouchDB ประกาศรวมกันและเรียกบริษัทที่รวมกันว่า Couchbase, Inc.

ประเภทของฐานข้อมูลที่แตกต่างกัน

ส่วนนี้อธิบายความแตกต่างระหว่างสามประเภทของฐานข้อมูล ได้แก่ Transactional, Analytical และ Engagement Databases ตามภาพต่อไปนี้:

Couchbase: ฐานข้อมูล NoSQL ที่ขยายได้สำหรับแอปพลิเคชันประสิทธิภาพสูง

แหล่งที่มารูปภาพ: https://resources.couchbase.com/c/engagement-database-whitepaper?x=49kQ7H

Transactional Databases

Transactional Databases จัดเก็บข้อมูลที่มีโครงสร้างสูงใน Tables และมี Rows และ Columns ที่ Unique ฐานข้อมูลเหล่านี้ใช้ 주로โดยแผนก Accounting, Human Resources, Sales และ Purchasing ขององค์กร ใน Transactional Databases การโต้ตอบ การสนับสนุน และ Engagement ของผู้ใช้โดยทั่วไปอยู่นอกขอบเขต ดังนั้นผู้ใช้หลายล้านคนจึงไม่สามารถอัปโหลด ดู หรือแชร์รูปภาพ วิดีโอ หรือคำพูดหลายพันล้านรายการพร้อมกันได้

เนื่องจากต้นทุนสูงและไม่สามารถจัดการข้อมูล Unstructured และ Semi-structured ปริมาณมากได้ ฐานข้อมูล Relational เหล่านี้จึงไม่สามารถให้ Customer Engagement ที่พอใจได้

การเติบโตล่าสุดของเทคโนโลยี Mobile, Social Platforms และแอปพลิเคชัน Internet of Things (IoT) ก็สร้างความยากลำบากให้ฐานข้อมูลเหล่านี้เช่นกัน

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

Analytical Databases

เทคโนโลยี Analytical เช่น Hadoop® Platform9 หรือ Apache Spark10 ใช้สำหรับทำ Backward-looking Analytics บน Data Set ขนาดใหญ่ของ Customer Interactions ขององค์กร

Analytical Technologies ทำงานกับข้อมูลเก่าเสมอ ไม่ใช่ Real-time Data เนื่องจากไม่ได้ตั้งใจสำหรับ Real-time หรือ Predictive Operational Data จึงล้มเหลวในการสร้าง Customer Engagement

ตัวอย่างเช่น สมมติว่าคุณต้องการ Personalize ข้อเสนอแนะแบบ Real-time ให้ลูกค้าบนเว็บไซต์ E-commerce ตาม Interaction ของลูกค้า เช่น การ Browse หรือประสบการณ์ Social Media Analytical Database จะไม่ให้สิ่งสะดวกหรือประสิทธิภาพแบบนั้น

กล่าวอีกนัยหนึ่ง Analytical Databases จะไม่ให้ Engagement กับลูกค้า

Engagement Databases

Engagement Databases ให้ Multiple Customer Interactions และ Experiences โดยการปลดปล่อยและใช้ Potential เต็มที่ของข้อมูลในทุก Scale ทุก Channels หรือ Devices เพื่อสร้างความสัมพันธ์ที่มีความหมายและสำคัญยิ่งขึ้นกับลูกค้า Engagement Database มีลักษณะสำคัญหลักดังนี้:

  • Built for Change – At Any Scale (Scalability)
  • Speed
  • Secure
  • Cloud-native
  • Seamlessly Mobile
  • Built-in Smarts

Couchbase Server

Couchbase ซึ่งเป็น Engagement Database แรกของโลก ให้ Agility, Scalability, Speed, Security, Availability และ Manageability ที่ไม่มีใครเทียบได้ ธุรกิจวันนี้ต้องการคุณสมบัติเหล่านี้เพื่อปรับเปลี่ยน Customer Expectations และ Experiences อย่างต่อเนื่อง และได้รับประโยชน์จาก Competitive Edge ที่ปรับตัวได้ตลอดเวลา Couchbase Server เป็นฐานข้อมูล NoSQL แบบ Distributed สำหรับ Document และ Key-Value ที่เป็น Open-Source และ Scalable ให้การจัดการข้อมูล Low-Latency สำหรับแอปพลิเคชันออนไลน์แบบ Interactive ขนาดใหญ่

สถาปัตยกรรมแกนกลางของ Couchbase ออกแบบมาเพื่อ Scale ได้ง่ายโดยไม่มี Performance Degradation และทำให้ Modern Application Development ง่ายขึ้นด้วย Flexible Data Model สร้างด้วยความเน้นที่ Reliability ความสามารถของ Core Database Platform รวมถึง High Availability, High Scalability, High Performance และ Security ฐานข้อมูล Couchbase เป็น Multi-Model General-Purpose Database ซึ่งสามารถใช้เป็น Managed-Cache Tier, Key-Value และ Document Database

Couchbase Lite รันแบบ Native บน Mobile Devices และ IoT Environments พร้อม Managed Synchronization

ภาพต่อไปนี้แสดง Couchbase Server Cluster:

Couchbase: ฐานข้อมูล NoSQL ที่ขยายได้สำหรับแอปพลิเคชันประสิทธิภาพสูง

แหล่งที่มารูปภาพ: https://developer.couchbase.com/documentation/server/4.0/architecture/architecture-intro.html

พฤติกรรม Runtime ของ Couchbase Server

พฤติกรรม Runtime ของ Couchbase Server ขึ้นอยู่กับ Components สำคัญต่อไปนี้:

  • Connectivity Architecture
  • Replication Architecture
  • Storage Architecture
  • Caching Layer Architecture
  • Security Architecture

Couchbase Server Services

Couchbase Server ประกอบด้วย Core Components ต่อไปนี้:

  • Cluster Manager
  • Data Service
  • Index Service
  • Query Service

ภายใน Cluster คุณสามารถเปิดใช้งาน Data, Index และ Query Services ตาม Workload เป็น Independent Deployment เพื่อจัดการ Workload 3 แบบที่แตกต่างกัน (Core Database Operations, Indexing และ Query Processing) Workloads เหล่านี้ประมวลผลอย่างอิสระและพร้อมกันโดยไม่มี Noise ฝั่ง Server

ดังนั้น Node ใด Node หนึ่ง (หรือแต่ละ Node) สามารถรัน Service หนึ่ง บางส่วน หรือทั้งหมดได้ในเวลาใดเวลาหนึ่ง Database Administrator สามารถตั้งค่า Unique Topologies โดยใช้ Independent Servicesเหล่านี้ และ Scale Workloads ต่างๆ ในฐานข้อมูลพร้อมกันได้

Couchbase Server Editions

มี 3 Editions สำหรับ Couchbase Server ได้แก่ Enterprise, Community และ Open Source แต่ละ Edition ให้ Features และ Support Levels ตามลำดับ:

  • Enterprise Edition (EE): แนะนำสำหรับ Production Environments Couchbase ให้ Production-Ready Release ล่าสุด

  • Community Edition (CE): สร้างสำหรับ Non-Commercial Developers เพื่อช่วยในการทดสอบและระบุ Issues เพื่อให้ Developers หลีกเลี่ยงปัญหาร้ายแรงกับ Production Releases ในอนาคต

  • Open Source Project: จัดให้บน Open Platform สำหรับการทดสอบ พัฒนา และนวัตกรรมของ Couchbase ในอนาคต นี่เป็น Foundation ที่บังคับสำหรับการพัฒนา Community และ Enterprise Editions

สรุป

ในโลก IT วันนี้ Customer Expectations กำลังขับเคลื่อน Digital Transformation ลูกค้ามองหาประสบการณ์ที่โดดเด่นขณะโต้ตอบกับแบรนด์ที่ชอบ ปรากฏการณ์นี้บังคับองค์กรให้ใช้ประโยชน์จากโอกาสมหาศาลที่มีอยู่ในยุค Engagement แทนการสร้าง Internet Applications หรือ Mobile Apps ใหม่ทุกวัน องค์กรต้องทำให้ Technology และ Environments ปัจจุบันทันสมัยด้วยฐานข้อมูลที่ตอบสนองเร็ว Available, Scalable, Intelligent และง่ายต่อการจัดการ Engagement Databases เช่น Couchbase Server ตอบสนองความต้องการนี้ได้อย่างสมบูรณ์

ใช้แท็บ Feedback เพื่อแสดงความคิดเห็นหรือถามคำถาม

เรียนรู้เพิ่มเติมเกี่ยวกับบริการฐานข้อมูลของเรา