ข้ามไปที่เนื้อหาหลัก

อะไรคือ yugabyteDB? PostgreSQL ระบบแบบกระจาย Distributed PostgreSQL for Modern Apps

 


YugabyteDB คือ ฐานข้อมูล PostgrreSQL Open Soruce แบบกระจาย (Distributed SQL Database) เป็นโอเพนซอร์สประสิทธิภาพสูง ออกแบบมาสำหรับแอปพลิเคชันยุคใหม่บนคลาวด์ (Cloud-native) โดยเน้นความสามารถในการขยายขนาดได้อย่างราบรื่น (Linear Scalability) และทนทานต่อความผิดพลาดสูง (High Availability) ผสานจุดเด่นความแข็งแกร่งของ SQL เข้ากับความยืดหยุ่นของ NoSQL และรองรับ PostgreSQL ได้อย่างสมบูรณ์  รองรับ ultra-resilience seamless scalability geo-distribution และ highly flexible data สำหรับการส่งมอบถึงธุรกิจ และแอปพลิเคชั่นที่ต้องการทรานเซกชั่นระดับสูง 

Yugabyte ก่อตั้งโดย Kannan Muthukkaruppan, Karthik Ranganathan และ Mikhail Bautin อดีตวิศวกร ของ Facebook พวกเขาเป็นส่วนหนึ่งของทีมที่สร้างและดำเนินการ Cassandra และ HBase สำหรับเวิร์กโหลดต่างๆ เช่น Facebook Messengerและ Facebook Operational Data Store 

ผลิตภัณฑ์ YugabyteDB มี 

  • YugabyteDB เป็น Open source cloud-native distributed SQL database 
YugabyteDB มี 2 Layer คือ Query Layer ใช้สำหรับติดต่อผู้ใช้งาน CRUD ใช้ผ่าน 2 API ได้แก่ YSQL, YCQL และ Store Layer ใช้สำหรับการจัดเก็บและการจัดการฐานข้อมูล 
  • YugabyeteDB Anywhere ใช้บริการ Self-managed Database-as-a-Service เพื่อให้การจัดการ Cluster ผ่านระบบ Cloud เป็นการผูกรวม Database โดยใช้ผ่าน YugabyteDB 


  • YugabyeteDB Aeon  เป็นแบบ Fully managed YugabyteDB-as-a-Service ที่สามารถเชื่อม Cloud อื่นๆ เข้าด้วยกัน 

  • YugabyeteDB Voyager สามการถจัดการระบบแบบกระจาย และฐานข้อมูลบนคลาวด์ได้ legacy and cloud databases



จุดเด่นและฟีเจอร์สำคัญของ YugabyteDB

  • YugabyteDatbase เป็น Distributed SQL รองรับ ACID Transactions ทำให้ข้อมูลมีความถูกต้องสอดคล้องกันสูง แม้จะกระจายอยู่คนละที่ ภายใต้คุณสมบัติสำคัญ 4 อย่าง (Atomicity, Consistency, Isolation, Durability)
  • YugabyteDatbase ใช้งาน PostgreSQL Compatibility นักพัฒนาสามารถใช้ความรู้เดิมจาก PostgreSQL และเชื่อมต่อกับเครื่องมือต่างๆ ได้ง่าย
  • YugabyteDatbase เป็นแบบ Cloud-Native & Distributed ที่ออกแบบมาเพื่อการทำงานบน Multi-cloud, Hybrid Cloud หรือ Kubernetes ทำให้ขยายขนาดได้ไม่จำกัด
  • YugabyteDatbase สามารถใช้งาน Geo-Distributed & High Availability เพื่อรองรับการจำลองข้อมูลข้ามภูมิภาค (Geo-replication) ทำให้อ่าน/เขียนข้อมูลได้รวดเร็ว (Low Latency) และระบบไม่หยุดทำงานแม้ Data Center บางแห่งจะล่ม
  • YugabyteDatbase มีประสิทธิภาพสูง High Performance ออกแบบมาเพื่อการเขียนและอ่านที่รวดเร็ว เหมาะสำหรับระบบที่รองรับธุรกรรมจำนวนมาก (Mission-Critical) 
  • YugabyteDatabase สามารถใช้งาน RAG and Gen AI Apps เพราะมีรูปแบบของ Vector Indexing รองรับการใช้งาน AI

โดยสรุป YugabyteDB คือโซลูชันที่นำข้อดีของระบบ SQL แบบดั้งเดิม (เช่น PostgreSQL) มารวมกับสถาปัตยกรรมที่กระจายตัวแบบ NoSQL ทำให้เหมาะกับการใช้งานในยุค Cloud-native ที่ต้องการความเร็ว, ขนาด, และความน่าเชื่อถือสูง 

เปรียบเทียบเชิงเทคนิคระหว่าง YugabyteDB กับ CockroachDB 


สรุป

  • CockroachDB และ YugabyteDB ต่างก็เป็น Distributed SQL Database ที่ถูกออกแบบให้รองรับ workload แบบ internet-scale, รองรับ ACID transaction, horizontal scaling และ geo-distribution โดยใช้ Raft consensus ในการ replicate ข้อมูลข้ามโหนดเพื่อความทนทานสูง
  • CockroachDB ออกแบบ SQL engine เองทั้งหมด ขณะที่ YugabyteDBนำ PostgreSQL query layer มาใช้ ทำให้ความเข้ากันกับ Postgres จริงจังกว่าและครบฟีเจอร์กว่า
  • ถ้าต้องการความเข้ากันกับ PostgreSQL มากที่สุด YugabyteDB จะใกล้เคียงกว่า CockroachDB
  • CockroachDB มักเด่นใน SQL distributed execution workload
  • ถ้าจำเป็นต้องหลีกเลี่ยงเงื่อนไขด้าน license และ open-source จริง YugabyteDB มีความยืดหยุ่นมากกว่า
  • CockroachDB และ YugabyteDB คือ Distributed SQL Database ที่รองรับ ACID, Horizontal Scaling และ Multi-region replication เหมาะกับระบบธุรกรรมขนาดใหญ่
  • CockroachDB ออกแบบ SQL engine ใหม่ทั้งหมด เน้น auto-sharding, self-healing และการจัดการ cluster อัตโนมัติ
  • YugabyteDB ใช้ PostgreSQL query layer จริง ทำให้ compatibility สูงกว่า รองรับ features/extension ได้ใกล้เคียง Postgres เดิม
  • ด้าน ประสิทธิภาพ YugabyteDB มักเด่นที่ throughput สูงและ dataset ใหญ่ ส่วน CockroachDB เด่นด้าน distributed query execution และความเสถียร
  • Licensing ต่างกัน: CockroachDB ใช้ BSL (มีข้อจำกัดเชิงพาณิชย์บางส่วน) ขณะที่ YugabyteDB เป็น Apache 2.0 แบบโอเพนซอร์สเต็มรูปแบบ
  • เลือก CockroachDB สำหรับระบบ global consistency สูง หรือเลือก YugabyteDB หากต้องการย้ายจาก PostgreSQL และต้องการ open-source + performance สูง




ความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

Anvil แฟลต์ฟอร์ม สำหรับ Python Full Stack มีครบ จบในเครื่องมือเดียว

Anvil แฟลต์ฟอร์ม สำหรับ Python Full Stack มีครบ จบในเครื่องมือเดียว Avil เป็นแฟลต์ฟอร์มสำหรับสร้างเว็บแอพลิเคชั่น ด้วยภาษา python สามารถใช้งานทั้ง HTML CSS JavaScript SQL ทั้งหมดนี้รวมในเครื่องมือที่ชื่อว่า Anvil Python ใช้สำหรับรันบนบราวเซอร์ เซอร์เวิรส์ และสร้าง UI ด้วยวิธีการ Drag-and-Drop เพียงลากวาง UK และยังสามารถเชื่อมต่อและใช้งาน Database  และยังสามารถ Integration กับแฟลต์ฟอร์มอื่นๆ ได้อีกด้วย โครงสร้างของ Anvil  การออกแบบง่ายๆ ด้วย drag-and-drop ใช้ python เป็น client-side และรันบน บราวเซอร์ Server-side รันบน Anvil Server สามารถใช้ Database ต่างๆ เพื่อเก็บข้อมูล สามารถรัน python บนเครื่องและตอบโต้กับแอปพลิเคขั่นไดด้

อะไรคือ NPU (Neural Processing Unit) มีความสำคัญอย่างไร แนวคิดมาจากไหน

ความหมาของคำว่า NPU (Neural Processing Unit)  NPU (Neural Processing Unit) คือ หน่วยประมวลผลโครงข่ายประสาทที่สร้างมาเพื่อใช้งานด้านปัญญาประดิษฐ์ เป็นหน่วยประมวลผลพิเศษที่ออกแบบมาเพื่อใช้ในแนวคิดของการเรียนรู้ของเครื่อง (Machine Learning) ของคอมพิวเตอร์โดยเฉพาะ ทำให้การประมวลผล AI ทรงประสิทธิภาพเพิ่มขึ้นจากเดิมของ TPU GPU และ CPU เช่น การจดจำภาพ, วิเคราะห์เสียง, หรือการแปลภาษา ทำได้รวดเร็วและประหยัดพลังงานกว่า CPU/GPU ทั่วไป โดยทำงานคล้ายโครงข่ายประสาทของมนุษย์ และพบได้ทั้งในสมาร์ตโฟน, คอมพิวเตอร์ (PC), และอุปกรณ์ AI อื่นๆ ในอนาคต เพื่อเร่งความเร็วของการทำงานของ AI สามารถจัดการงานและปัญหาที่ซับซ้อนได้อย่างมีประสิทธิภาพ  ประวัติความเป็นมาของ NPU (Neural Processing Unit)  ตั้งแต่ปี 1970 เป็นต้นมาเราได้ใช้เริ่มมีการใช้หน่วยการประมวลผลแบบดั้งเดิม คือ หน่วยประมวลผลกลาง (CPU) ถือเป็น "สมอง" และเป็นกลไกการทำงานของคอมพิวเตอร์ ดังนั้นซีพียู CPU ประมวลผลงานคำนวณแบบดั้งเดิมส่วนใหญ่มีหน้าที่รับผิดชอบการทำงานของแอปพลิเคชันให้มีศักยภาพหลากหลายเพิ่มมาเรื่อย แม้ว่าจะมีหลายประเภท แต่โดยทั่...

TomCat สำหรับติดตั้ง แก้ไข คอนฟิก ใช้งาน JSP

Apache Tomcat เป็น  HTTP Server ที่มีความสามารถนำภาษาจาวามาใช้งานได้  สามารถใช้เทคโนโลยีของภาษาจาวาที่เรียกว่า Java Servlet  และ Java Server Page (JSP)  Tomcat เป็นโปรแกรม Open-Source  อยู่ภายใต้การดูแลของ Apache Software Foundation  (ซึ่งเป็นผู้สร้าง Apache HTTP Server ที่เป็นที่นิยมใช้กันอย่างแพร่หลาย)  สามารถอ่านรายละเอียดของ Tomcat ได้ที่  http://tomcat.apache.org  โดยเลือกหัวข้อ “ Documentation”  และเลือก “Tomcat 7.0” ขั้นตอนการติดตั้ง Tomcat เรียงลำดับดังนี้