เผยแพร่ครั้งแรกเมื่อวันที่ 30 เมษายน 2018 ที่ ObjectRocket.com/blog
ความคงอยู่ของหลายภาษาหมายถึงการใช้เทคโนโลยีการจัดเก็บข้อมูลที่แตกต่างกันเพื่อจัดการกับความต้องการในการจัดเก็บข้อมูลที่แตกต่างกัน เป็นการเขียนโปรแกรมภาษาหลายภาษาโดยใช้ภาษาโปรแกรมต่างๆ เพื่อสร้างแอปพลิเคชัน พูดง่ายๆ ก็คือ เป็นแอปพลิเคชันที่ใช้เทคโนโลยีฐานข้อมูลหลักมากกว่าหนึ่งอย่าง
การใช้เครื่องมือที่เหมาะสมกับงานเป็นสิ่งสำคัญ และการใช้ฐานข้อมูลที่เหมาะสมกับงานก็สำคัญไม่แพ้กัน แต่ละฐานข้อมูลมีจุดแข็ง จุดอ่อน และคุณลักษณะ มีฐานข้อมูลอยู่หลายร้อยฐานข้อมูล ดังนั้นจึงยากที่จะติดตาม
จัดการความต้องการในการจัดเก็บข้อมูลของคุณ
Monoglot® นั้นใช้ได้ (และยังคงใช้ได้อยู่) สำหรับแอปพลิเคชันธรรมดาๆ ที่ใช้ปริมาณงานประเภทเดียว อย่างไรก็ตาม แอปพลิเคชันมีความซับซ้อนมากขึ้นอย่างรวดเร็ว
แพลตฟอร์มอีคอมเมิร์ซอย่างง่ายใช้เครื่องมือต่อไปนี้:
- ข้อมูลเซสชันเพื่อเพิ่มรายการลงในตะกร้า
- เครื่องมือค้นหาเพื่อค้นหาผลิตภัณฑ์
- เครื่องมือแนะนำ การซื้อในอนาคตที่เป็นไปได้โดยอิงจากบันทึกการซื้อ
- แพลตฟอร์มการชำระเงินสำหรับบริการระบุตำแหน่งทางภูมิศาสตร์
การใช้การคงอยู่ของหลายภาษาช่วยให้คุณเติมเชื้อเพลิงให้กับแอปพลิเคชันด้วยข้อมูลจากประเภทการจัดเก็บที่แตกต่างกัน คุณสามารถดึงธุรกรรมทางการเงินที่เสร็จสมบูรณ์จาก Oracle® ขณะติดตามข้อมูลผู้ใช้ใน MongoDB® และปล่อยให้ Redis® จัดการแคชได้
ใช้การคงอยู่ของหลายภาษาและพิจารณาตัวเลือกต่างๆ
ข้อร้องเรียนจำนวนมากที่อ้างถึงความซับซ้อนของการสร้างความคงอยู่ของหลายภาษานั้นเกิดจากการพยายามบังคับให้โซลูชันการจัดเก็บข้อมูลเข้าสู่โครงการที่ไม่เพียงพอ ซึ่งนำไปสู่การสร้างกระบวนการสนับสนุนมากมายและสถาปัตยกรรมสัตว์ประหลาดที่เติบโตขึ้นเรื่อยๆ
การวางแผนอย่างรอบคอบช่วยขจัดปัญหาที่อาจเกิดขึ้นได้ 90% พิจารณาเป้าหมายของคุณ คุณต้องการฟังก์ชันทางธุรกิจที่สำคัญหรือไม่? คุณจำเป็นต้องเริ่มเปลี่ยนการดำเนินงานส่วนใหญ่ของบริษัทมาเป็นรูปแบบนี้หรือไม่
ใช้เทคโนโลยีการจัดเก็บข้อมูลที่เหมาะสม
ทีมของคุณเคยสร้างสถาปัตยกรรมการคงอยู่แบบหลายภาษามาก่อนหรือไม่? เป็นการท้าทายที่จะใช้ประโยชน์จากโซลูชันข้อมูลที่เหมาะสมโดยไม่ต้องมีประสบการณ์ในการออกแบบโมเดลประเภทนี้ คุณจะรู้ได้อย่างไรว่าคุณกำลังเริ่มต้นโครงการที่ถูกต้อง
ประเภทการจัดเก็บข้อมูล
องค์กรต่างๆ มักจะจบลงด้วยการใช้แหล่งข้อมูลต่างๆ มากมายเพื่อป้อนแอปพลิเคชันของตน มาทบทวนตัวเลือกพื้นที่เก็บข้อมูลส่วนกลางกัน:
ฐานข้อมูลธุรกรรม หรือที่เรียกว่าระบบจัดการฐานข้อมูลเชิงสัมพันธ์ (RDBMS) ให้ความสมบูรณ์ของข้อมูลโดยจัดระเบียบข้อมูลลงในตารางที่มีแถวและคอลัมน์ คุณดึงข้อมูลโดยใช้คำสั่งไวยากรณ์ที่เรียกว่าแบบสอบถาม องค์กรขนาดใหญ่จำนวนมากใช้ตัวเลือกยอดนิยมอย่าง Microsoft® SQL Server® และ Oracle® เป็นจำนวนมาก ข้อเสียประการหนึ่งของฐานข้อมูลธุรกรรมคืออาจปรับขนาดได้ยากเมื่อความต้องการพื้นที่จัดเก็บเพิ่มขึ้น นอกจากนี้ การค้นหาจะช้าเนื่องจากข้อมูลมีความหนาแน่นและซับซ้อนในการเข้าถึง
ฐานข้อมูลที่ไม่ใช่ธุรกรรม เปลี่ยนจากการใช้ระบบ RDBMS แบบตาราง ทำให้สามารถปรับขนาดได้เพิ่มขึ้นและค้นหาได้เร็วขึ้น นอกจากนี้ยังจับคู่ได้ดีกับเครื่องมือค้นหาและเครื่องมือวิเคราะห์ เช่น Elasticsearch ผู้คนมักใช้คำว่า NoSQL เพื่ออธิบายฐานข้อมูลเหล่านี้
ประเภทพื้นที่เก็บข้อมูลที่ไม่ใช่ธุรกรรม :
ประเภทการจัดเก็บที่ไม่ใช่ธุรกรรมมีตัวเลือกดังต่อไปนี้:
- คีย์-ค่า :ฐานข้อมูลเหล่านี้ใช้คีย์ที่ชี้ไปยังตำแหน่งที่เก็บข้อมูลชิ้นหนึ่ง บางคนใช้ตารางแฮช ในขณะที่บางตัวเช่น Redis เก็บการจับคู่ไว้ในหน่วยความจำเพื่อการเข้าถึงที่รวดเร็ว
- เอกสาร :ประกอบด้วยคู่คีย์-ค่าที่บีบอัดลงในเอกสารที่อนุญาตให้มีโครงสร้างโดยใช้การเข้ารหัส เช่น JSON หรือ XML เวอร์ชันโอเพนซอร์สยอดนิยม ได้แก่ MongoDB และ CouchDB®
- คอลัมน์ :คุณวางข้อมูลลงในคอลัมน์ที่จัดกลุ่มแทนที่จะเป็นแถวเหมือนในโครงสร้าง RDBMS Apache® Cassandra และ HBase® ใช้โมเดลนี้
- กราฟ :ใช้โครงสร้างกราฟ โหนด ขอบ และคุณสมบัติในการจัดระเบียบและดึงข้อมูล Neo4j® คือตัวอย่างที่กำลังได้รับความนิยม
การได้รับความคงอยู่แบบหลายภาษาหมายถึงการรู้ว่าตัวเลือกข้อมูลใดทำงานได้ดีที่สุดสำหรับความต้องการแอปพลิเคชันของคุณ
คำถามที่ต้องถาม
คำถามเกี่ยวกับโครงสร้างข้อมูล
- ข้อมูลของคุณมีโครงสร้างที่เป็นธรรมชาติหรือไม่? ไม่มีโครงสร้างหรือไม่
- เชื่อมต่อกับข้อมูลอื่นอย่างไร
- มีการกระจายอย่างไร
- คุณจัดการกับข้อมูลมากแค่ไหน
คำถามเกี่ยวกับรูปแบบการเข้าถึง
- อัตราส่วนการอ่าน/เขียนของคุณคืออะไร
- เป็นแบบเดียวกันหรือสุ่ม
- การอ่านหรือการเขียนมีความสำคัญต่อการสมัครของคุณมากกว่าหรือไม่
องค์กรต้องการคำถาม
- เราจำเป็นต้องมีการตรวจสอบสิทธิ์หรือไม่? แบบไหน?
- เราต้องการการเข้ารหัสหรือไม่
- เราจำเป็นต้องสำรองข้อมูลหรือไม่
- เราต้องการพื้นที่ภัยพิบัติหรือไม่
- เราต้องการปลั๊กอินหรือไม่
- จำเป็นต้องมีการตรวจสอบระดับใด
- จำเป็นต้องใช้ไดรเวอร์ใดบ้าง
- เราควรใช้ภาษาใด
- เราควรใช้เครื่องมือของบุคคลที่สามหรือไม่
ขอความช่วยเหลือที่ถูกต้อง
หลายบริษัทจะได้รับประโยชน์จากการนำผู้เชี่ยวชาญในด้านสถาปัตยกรรมหลายภาษามาช่วยในการตัดสินใจเหล่านี้ ด้วยวิธีนี้ คุณจะไม่ต้องลงเอยด้วยภาระการบำรุงรักษาเพิ่มเติมเนื่องจากสถาปัตยกรรมที่ซับซ้อนมากเกินไป ผู้จำหน่ายฐานข้อมูลโอเพ่นซอร์สยอดนิยมบางรายเสนอบริการการจัดการ แต่พวกเขาจะแจ้งให้คุณทราบหรือไม่หากแหล่งข้อมูลของตนเองไม่เหมาะกับความต้องการของคุณ
เป็นการดีที่สุดที่จะติดต่อบริษัทที่เข้าใจจุดแข็งและจุดอ่อนของตัวเลือกข้อมูลต่างๆ เพื่อช่วยให้คุณเริ่มต้นได้ด้วยความคงอยู่แบบหลายภาษา Rackspace ObjectRocket ให้มุมมองแบบ 360 องศาของตัวเลือกฐานข้อมูลที่หลากหลายซึ่งเหมาะกับความต้องการทางธุรกิจของคุณ เรานำ DBA และวิศวกรที่เหมาะที่สุดเพื่อยกระดับโซลูชันข้อมูลขนาดใหญ่ของคุณไปอีกระดับ
เรียนรู้เพิ่มเติมเกี่ยวกับ Rackspace DBA Services
ใช้แท็บคำติชมเพื่อแสดงความคิดเห็นหรือถามคำถาม คุณยังสามารถคลิกแชทขาย เพื่อแชทตอนนี้และเริ่มการสนทนา
ดูข้อกำหนดในการให้บริการของ Rackspace Cloud