- การประมวลผลบนคลาวด์คืออะไร›
- ฮับแนวคิดการประมวลผลบนคลาวด์›
- การวิเคราะห์
Apache Iceberg คืออะไร?
Apache Iceberg คืออะไร?
Apache Iceberg เป็นรูปแบบตารางข้อมูลโอเพนซอร์ส 100% ที่ได้รับใบอนุญาต Apache 2.0 ที่ขับเคลื่อนโดยชุมชน ซึ่งช่วยลดความซับซ้อนในการประมวลผลข้อมูลบนชุดข้อมูลขนาดใหญ่ที่เก็บไว้ในทะเลสาบข้อมูล วิศวกรข้อมูลใช้ Apache Iceberg เพราะมันรวดเร็ว มีประสิทธิภาพและเชื่อถือได้ในระดับใด ๆ และเก็บบันทึกของวิธีการเปลี่ยนแปลงชุดข้อมูลเมื่อเวลาผ่านไป Apache Iceberg นำเสนอการผสานรวมได้อย่างง่ายดายกับกรอบการประมวลผลข้อมูลยอดนิยม เช่น Apache Spark, Apache Flink, Apache Hive, Presto และอื่น ๆ
Data Lake เชิงธุรกรรมคืออะไร?
ทะเลสาบข้อมูล เป็น พื้นที่เก็บข้อมูลส่วนกลางที่ช่วยให้คุณสามารถจัดเก็บข้อมูลที่มีโครงสร้างและไม่มีโครงสร้างทั้งหมดของคุณในทุกขนาด การทำธุรกรรมข้อมูลเป็นชุดของการแลกเปลี่ยนข้อมูลที่จะดำเนินการในการดำเนินการเพียงครั้งเดียว ตัวอย่างเช่น เมื่อลูกค้าถอนเงินจากบัญชีธนาคาร ธนาคารจะดำเนินการแลกเปลี่ยนข้อมูลหลายรายการในเวลาเดียวกันในการทำธุรกรรม ซึ่งข้อมูลหนึ่งๆประกอบด้วย การตรวจสอบบัญชีมียอดคงเหลือเพียงพอหรือไม่ การตรวจสอบตัวตน และการหักเงินถอนออกจากบัญชี Transectional Data Lake เป็นชนิดของdata lake ที่ไม่เพียงแต่เก็บข้อมูลในระดับหนึ่ง แต่ยังสนับสนุนการดำเนินการทำธุรกรรม เพื่อให้แน่ใจว่าข้อมูลมีความถูกต้องสอดคล้อง และช่วยให้คุณสามารถติดตามวิธีการเปลี่ยนแปลงข้อมูลและโครงสร้างข้อมูลเมื่อเวลาผ่านไป คุณสมบัติเหล่านี้เรียกรวมกันในชื่ออะตอมความสม่ำเสมอการแยกและความทนทาน (ACID):
-
Atomicity รับประกันว่าแต่ละธุรกรรมเป็นเหตุการณ์เดียวที่ประสบความสำเร็จหรือล้มเหลวอย่างสมบูรณ์ ไม่มีสถานะครึ่งทาง
-
ความส อดคล้องทำให้มั่นใจได้ว่าข้อมูลทั้งหมดที่เขียนนั้นถูกต้องตามกฎที่กำหนดไว้ของทะเลสาบข้อมูลเพื่อให้แน่ใจว่าข้อมูลนั้นถูกต้องและเชื่อถือได้
-
การแยก ช่วยให้มั่นใจได้ว่าการทำธุรกรรมหลายรายการสามารถเกิดขึ้นได้ในเวลาเดียวกันโดยไม่รบกวนซึ่งกันและกัน ทำให้มั่นใจว่าแต่ละธุรกรรมจะดำเนินการอย่างอิสระ
-
ความทน ทานหมายความว่าข้อมูลจะไม่สูญหายหรือเสียหายเมื่อมีการส่งธุรกรรม ข้อมูลสามารถกู้คืนได้ในกรณีที่ระบบล้มเหลวเช่นไฟฟ้าดับ
อะไรคือประโยชน์ของการใช้ Apache Iceberg?
บางส่วนของผลประโยชน์ที่สำคัญของการใช้ Apache Iceberg สำหรับการทำธุรกรรมใน Data lake ซึ่งประกอบด้วย:
-
ความคุ้นเคยของ SQL: ภาษาแบบสอบถามที่มีโครงสร้าง (SQL) เป็นภาษาแบบสอบถามยอดนิยมที่ใช้บ่อยในแอปพลิเคชันทุกประเภท นักวิเคราะห์ข้อมูลและนักพัฒนาเรียนรู้และใช้ SQL เพราะมันบูรณาการได้ดีกับการเขียนโปรแกรมภาษาที่แตกต่างกันและยังค่อนข้างง่ายที่จะเรียนรู้ที่จะใช้คำหลักภาษาอังกฤษทั่วไปการประกาศ Apache Iceberg ช่วยให้ทุกคนที่คุ้นเคยกับภาษาแบบสอบถามที่มีโครงสร้าง (SQL) สามารถสร้างทะเลสาบข้อมูลและดำเนินการข้อมูลส่วนใหญ่โดยไม่จำเป็นต้องเรียนรู้ภาษาใหม่
-
ความสอดคล้องของข้อมูล: Apache Iceberg ให้ความสอดคล้องกับข้อมูลเพื่อให้แน่ใจว่าผู้ใช้ที่อ่านและเขียนไปยังข้อมูลจะเห็นข้อมูลเดียวกัน
-
โครงสร้างข้อมูล: Apache Iceberg ช่วยให้การเปลี่ยนแปลงที่ง่ายต่อโครงสร้างข้อมูลของคุณ ยังเป็นที่รู้จักในชื่อ schema evolution หมายความว่าผู้ใช้สามารถเพิ่มเปลี่ยนชื่อหรือลบคอลัมน์จากตารางข้อมูลโดยไม่รบกวนข้อมูลพื้นฐาน
-
การสร้างเวอร์ชันข้อมูล: Apache Iceberg รองรับการสร้างเวอร์ชันข้อมูลซึ่งช่วยให้ผู้ใช้สามารถติดตามการเปลี่ยนแปลงของข้อมูลล่วงเวลาได้ สิ่งนี้เปิดใช้งานคุณลักษณะการเดินทางในเวลาซึ่งช่วยให้ผู้ใช้สามารถเข้าถึงและสืบค้นข้อมูลเวอร์ชันประวัติศาสตร์และวิเคราะห์การเปลี่ยนแปลงของข้อมูลระหว่างการอัปเดตและการลบ
-
การสนับสนุนข้ามแพลตฟอร์ม: Apache Iceberg รองรับระบบจัดเก็บข้อมูลและเอ็นจิ้นแบบสอบถามที่หลากหลาย รวมถึง Apache Spark, Apache Hive และ Presto สิ่งนี้ทำให้ง่ายต่อการใช้ Iceberg ในสภาพแวดล้อมการประมวลผลข้อมูลที่หลากหลาย
-
การประมวลผลแบบเพิ่มขึ้น: Iceberg รองรับการประมวลผลเพิ่มขึ้นซึ่งช่วยให้ผู้ใช้สามารถประมวลผลเฉพาะข้อมูลที่เปลี่ยนแปลงตั้งแต่การรันครั้งสุดท้ายหรือที่เรียกว่า CDC (Change Data Capture) สิ่งนี้สามารถช่วยปรับปรุงประสิทธิภาพและประสิทธิภาพการประมวลผลข้อมูล
อะไรคือกรณีการใช้งานทั่วไปสำหรับ Apache Iceberg?
Apache Iceberg เหมาะสำหรับหลายกรณีการใช้ข้อมูล Data Lake ได้แก่:
-
ตารางข้อมูลในData lakeที่จำเป็นต้องลบบ่อย เช่น เมื่อบังคับใช้กฎหมายความเป็นส่วนตัวของข้อมูล
-
ตารางข้อมูลในทะเลสาบข้อมูลที่ต้องมีการอัปเดตระดับบันทึก สิ่งนี้จะเป็นประโยชน์เมื่อชุดข้อมูลของคุณต้องมีการปรับปรุงให้ทันสมัยบ่อยๆ หลังจากสรุปข้อมูลแล้ว ตัวอย่างเช่น ข้อมูลการขาย ที่อาจมีการเปลี่ยนแปลงเนื่องจากเหตุการณ์ที่เกิดภายหลัง เช่นการส่งคืนสินค้าจากลูกค้า Iceberg ให้ความสามารถในการอัปเดตบันทึกแต่ละรายการโดยไม่จำเป็นต้องเผยแพร่ชุดข้อมูลทั้งหมดอีกครั้ง
-
ตารางข้อมูลในทะเลสาบข้อมูลที่มีการเปลี่ยนแปลงที่คาดเดาไม่ได้ เช่น ตาราง Slow Changing Dimension (SCD) ตัวอย่างของ SCD คือตารางบันทึกของลูกค้าที่ประกอบด้วยชื่อ ตำแหน่ง และข้อมูลการติดต่อซึ่งอาจเปลี่ยนแปลงตลอดเวลาในช่วงเวลาที่ไม่รู้จัก
-
เมื่อการทำธุรกรรมกับ Data Lake ต้องรับประกันความถูกต้องของข้อมูล ความทนทาน และความน่าเชื่อถือในรูปแบบตาราง Apache Iceberg สามารถนำไปใช้เพื่อให้แน่ใจในการทำธุรกรรม ACID transaction
-
เมื่อมีความจำเป็นที่จะต้องย้อนเวลากลับไปสอบถามข้อมูลในอดีตเพื่อทำการวิเคราะห์แนวโน้ม วิเคราะห์การเปลี่ยนแปลงข้อมูลในช่วงระยะเวลาหนึ่ง หรือเพื่อเรียกคืนหรือย้อนกลับไปยังเวอร์ชันก่อนหน้าเพื่อแก้ไขปัญหา
ใครใช้ Apache Iceberg
วิศวกรข้อมูล ผู้ดูแลข้อมูล นักวิเคราะห์ข้อมูล และนักวิทยาศาสตร์ข้อมูลเป็นหนึ่งในบุคคลที่ใช้ Apache Iceberg วิศวกรข้อมูลและผู้ดูแลระบบสามารถใช้ Apache Iceberg ในการออกแบบและสร้างระบบจัดเก็บข้อมูลที่ปรับขนาดได้ นักวิเคราะห์ข้อมูลและนักวิทยาศาสตร์ข้อมูลสามารถใช้ Apache Iceberg เพื่อวิเคราะห์ชุดข้อมูลขนาดใหญ่ได้อย่างมีประสิทธิภาพ
ทำไมคุณควรเลือก Apache Iceberg?
Apache Iceberg นำเสนอวิธีที่รวดเร็วและมีประสิทธิภาพในการประมวลผลชุดข้อมูลขนาดใหญ่ในขนาดใหญ่ มันนำมาซึ่งประโยชน์ดังต่อไปนี้:
-
โอเพ่นซอร์ส: Apache Iceberg เป็นโครงการโอเพ่นซอร์สซึ่งหมายความว่าใช้งานได้ฟรีและสามารถปรับแต่งเพื่อตอบสนองความต้องการเฉพาะของคุณ นอกจากนี้ยังมีชุมชนนักพัฒนาที่กำลังปรับปรุงและเพิ่มคุณสมบัติใหม่ให้กับโครงการอย่างต่อเนื่อง
-
ความสามารถในการปรับขนาด: Apache Iceberg ได้รับการออกแบบมาเพื่อจัดการชุดข้อมูลขนาดใหญ่ได้อย่างมีประสิทธิภาพ สามารถแบ่งพาร์ติชันและจัดระเบียบข้อมูลในโหนดหลายโหนดซึ่งช่วยกระจายปริมาณงานและเร่งการประมวลผลข้อมูล
-
ประสิทธิภาพ: Apache Iceberg มีคุณสมบัติที่หลากหลายเพื่อเพิ่มประสิทธิภาพการทำงานของแบบสอบถาม รวมถึงการจัดเก็บแบบคอลัมน์และเทคนิคการบีบอัด เช่น Predicate push down และวิวัฒนาการของสคีมา
-
ความยืดหยุ่น: Apache Iceberg ช่วยให้คุณสามารถเปลี่ยนวิธีการจัดระเบียบข้อมูลของคุณเพื่อให้สามารถพัฒนาได้ตลอดเวลาโดยไม่ต้องให้คุณเขียนคำค้นหาใหม่หรือสร้างโครงสร้างข้อมูลของคุณใหม่ นอกจากนี้ยังรองรับรูปแบบข้อมูลและแหล่งข้อมูลหลายรูปแบบซึ่งทำให้สามารถรวมเข้ากับระบบที่มีอยู่ได้ง่าย
-
ความน่าเชื่อถือ: Apache Iceberg ช่วยให้มั่นใจได้ถึงความสม่ำเสมอและความน่าเชื่อถือของข้อมูลผ่านการสนับสนุนสำหรับการทำธุรกรรม คุณสามารถติดตามการเปลี่ยนแปลงของข้อมูลเมื่อเวลาผ่านไปและย้อนกลับเป็นเวอร์ชันประวัติศาสตร์เพื่อช่วยคุณแก้ไขปัญหา
บริการ AWS ใดบ้างที่สนับสนุน Iceberg?
Apache Iceberg รองรับกรอบการประมวลผลข้อมูลยอดนิยม เช่น Apache Spark, Apache Flink, Apache Hive และ Presto บริการ AWS เช่น Amazon Redshift , Amazon Athena, Amazon EMR , AWS Glue และ Amazon Data Firehose รวมถึง การสนับสนุนดั้งเดิม สำหรับกรอบทะเลสาบข้อมูลธุรกรรม รวมถึง Apache Iceberg Apache Iceberg ร่วมกับบริการ AWS ที่รองรับช่วยให้สามารถใช้ทะเลสาบข้อมูลธุรกรรม ซึ่งมักจะใช้การจัดเก็บใน S3
-
Amazon Redshift เป็น บริการการวิเคราะห์ SQL และการคลังข้อมูลที่ได้รับการจัดการอย่างเต็มที่ขับเคลื่อนด้วย AI เพื่อขับเคลื่อนการตัดสินใจทางธุรกิจให้กับลูกค้าได้อย่างรวดเร็วและคุ้มค่า Amazon Redshift มอบสถาปัตยกรรมการประมวลผลแบบขนานปริมาณมาก (MPP) หลายคลัสเตอร์ และไม่ต้องใช้เซิร์ฟเวอร์ พร้อมความสามารถ ETL แบบไร้รอยต่อที่ขับเคลื่อนการวิเคราะห์แบบเกือบเรียลไทม์และกรณีการใช้งาน AI/ML ด้วยการแชร์ข้อมูล ลูกค้าสามารถใช้ Amazon Redshift เพื่อสืบค้นตาราง Apache Iceberg ในทะเลสาบข้อมูล เข้าถึงผ่านแคตตาล็อก AWS Glue Data และรวมกับตารางของพวกเขาในคลังข้อมูลเพื่อการวิเคราะห์ที่ครอบคลุม
-
Amazon Athena เป็น บริการวิเคราะห์แบบโต้ตอบแบบไร้เซิร์ฟเวอร์ที่สร้างขึ้นบนเฟรมเวิร์กโอเพนซอร์ส รองรับรูปแบบตารางและไฟล์ Athena มอบวิธีการที่เรียบง่ายและยืดหยุ่นในการวิเคราะห์ข้อมูลขนาดเพตะไบต์ในที่ที่มันอาศัยอยู่ Athena ให้การสนับสนุนแบบดั้งเดิมสำหรับการอ่าน การเดินทางเวลา การเขียน และ DDL สำหรับตาราง Apache Iceberg ที่ใช้รูปแบบ Apache Parquet สำหรับข้อมูลและแคตตาล็อก AWS Glue สำหรับการแพร่กระจายของข้อมูล
-
Amazon EMR เป็นโซลูชันข้อมูลขนาดใหญ่สำหรับการประมวลผลข้อมูลขนาดเพตาไบต์ การวิเคราะห์แบบโต้ตอบ และการเรียนรู้ของเครื่องโดยใช้เฟรมเวิร์กโอเพนซอร์ส เช่น Apache Spark, Hadoop, Presto และ Hive เริ่มต้นด้วย Amazon EMR 6.5.0 คุณสามารถใช้ Apache Spark 3 ในกลุ่ม Amazon EMR ที่มีตารางรูปแบบของ Iceberg เฟรมเวิร์ค EMR รวมถึง Spark, Trino, Flink และ Hive รองรับ Apache Iceberg
-
AWS G lue เป็นบริการรวมข้อมูลแบบไร้เซิร์ฟเวอร์ซึ่งช่วยให้ค้นพบ เตรียม ย้าย และรวมข้อมูลจากหลายแหล่งข้อมูลสำหรับการวิเคราะห์ การ เรียนรู้ของเครื่อง (ML) และการพัฒนาแอปพลิเคชันได้ง่าย ขึ้น AWS Glue 3.0 และต่อมาสนับสนุนเฟรมเวิร์ค Apache Iceberg สำหรับdata lake คุณสามารถใช้ AWS Glue เพื่อดำเนินการอ่านและเขียนบนตาราง Iceberg ใน Amazon S3 หรือทำงานกับตารางIceberg โดยใช้ AWS Glue Data Catalog การดำเนินการเพิ่มเติมรวมถึงการแทรก อัปเดต และแบบสอบถาม Spark ทั้งหมด การเขียนของ Spark ยังรองรับ
-
Amazon Data Firehose เป็นบริการที่ได้รับการจัดการอย่างสมบูรณ์แบบไร้เซิร์ฟเวอร์สำหรับการส่งข้อมูลสตรีมแบบเรียลไทม์ไปยังปลายทางเช่น Amazon Simple Storage Service (Amazon S3), Amazon Redshift, Amazon OpenSearch Service, Amazon OpenSearch Serverless, Splunk, Snowflake, Apache Iceberg Tables และปลายทาง HTTP หรือปลายทาง HTTP ที่กำหนดเองซึ่งเป็นเจ้าของจากผู้ให้บริการบุคคลที่สามที่รองรับ รวมถึง Datadog, Dynatrace, LogicMonitor, MongoDB, New Religia คอราโลจิกซ์ และอีลาสติก Amazon Data Firehose ทำให้คุณไม่จำเป็นต้องเขียนแอปพลิเคชันเองหรือจัดการทรัพยากร คุณสามารถกำหนดค่าตัวผลิตข้อมูลให้ส่งข้อมูลไปยัง Amazon Data Firehose จากนั้นข้อมูลจะถูกส่งไปยังปลายทางที่คุณระบุโดยอัตโนมัติ คุณยังสามารถกำหนดค่า Amazon Data Firehose เพื่อแปลงข้อมูลของคุณก่อนส่งมอบ