มีความท้าทายหลายอย่างที่การเริ่มต้นสร้างดัชนี blockchain สมัยใหม่อาจเผชิญ ได้แก่ :
ในบทความนี้ เราจะตรวจสอบวิวัฒนาการของสถาปัตยกรรมเทคโนโลยีของ Footprint Analytics เป็นระยะเพื่อเป็นกรณีศึกษาเพื่อสำรวจว่าเทคโนโลยี Iceberg-Trino จัดการกับความท้าทายของข้อมูลบนเครือข่ายได้อย่างไร
Footprint Analytics จัดทำดัชนีข้อมูลบล็อกเชนสาธารณะประมาณ 22 รายการ และตลาด NFT 17 แห่ง โครงการ GameFi 1900 โครงการ และคอลเล็กชัน NFT กว่า 100,000 รายการลงในชั้นข้อมูลนามธรรมเชิงความหมาย เป็นโซลูชันคลังข้อมูลบล็อกเชนที่ครอบคลุมมากที่สุดในโลก
โดยไม่คำนึงถึงข้อมูลบล็อกเชน ซึ่งรวมถึงบันทึกการทำธุรกรรมทางการเงินมากกว่า 2 หมื่นล้านแถว ซึ่งนักวิเคราะห์ข้อมูลมักจะสอบถาม ซึ่งแตกต่างจากบันทึกการเข้าในคลังข้อมูลแบบดั้งเดิม
เรามีประสบการณ์การอัปเกรดครั้งใหญ่ 3 ครั้งในช่วงหลายเดือนที่ผ่านมาเพื่อตอบสนองความต้องการทางธุรกิจที่กำลังเติบโต:
ในช่วงเริ่มต้นของ Footprint Analytics เราใช้ Google Bigquery เป็นเครื่องมือจัดเก็บและสืบค้น Bigquery เป็นผลิตภัณฑ์ที่ยอดเยี่ยม มันเร็วอย่างเห็นได้ชัด ใช้งานง่าย และให้พลังเลขคณิตแบบไดนามิกและไวยากรณ์ UDF ที่ยืดหยุ่นซึ่งช่วยให้เราทำงานให้เสร็จได้อย่างรวดเร็ว
อย่างไรก็ตาม Bigquery ก็มีปัญหาหลายอย่างเช่นกัน
เราสนใจผลิตภัณฑ์ OLAP บางตัวซึ่งได้รับความนิยมอย่างมาก ข้อได้เปรียบที่น่าสนใจที่สุดของ OLAP คือเวลาตอบสนองการสืบค้นข้อมูล ซึ่งโดยทั่วไปจะใช้เวลาเพียงเสี้ยววินาทีในการส่งคืนผลการสืบค้นสำหรับข้อมูลจำนวนมหาศาล และยังสามารถรองรับการสืบค้นพร้อมกันนับพันรายการได้อีกด้วย
เราเลือก Doris หนึ่งในฐานข้อมูล OLAP ที่ดีที่สุดมาทดลองใช้ เครื่องยนต์นี้ทำงานได้ดี อย่างไรก็ตาม เมื่อถึงจุดหนึ่ง เราก็พบปัญหาอื่นๆ ในไม่ช้า:
ขออภัย เราไม่สามารถแทนที่ Bigquery ด้วย Doris ได้ ดังนั้นเราต้องซิงโครไนซ์ข้อมูลจาก Bigquery ไปยัง Doris เป็นระยะโดยใช้เป็นเครื่องมือสืบค้นข้อมูลเท่านั้น กระบวนการซิงโครไนซ์นี้มีปัญหาหลายประการ ซึ่งหนึ่งในนั้นคือการเขียนอัปเดตซ้อนกันอย่างรวดเร็วเมื่อเอ็นจิ้น OLAP ไม่ว่างในการให้บริการการสืบค้นไปยังไคลเอนต์ส่วนหน้า ในเวลาต่อมา ความเร็วของกระบวนการเขียนได้รับผลกระทบ และการซิงโครไนซ์ใช้เวลานานกว่ามาก และบางครั้งก็เป็นไปไม่ได้ที่จะเสร็จสิ้น
เราตระหนักว่า OLAP สามารถแก้ไขปัญหาต่างๆ ที่เรากำลังเผชิญอยู่ และไม่สามารถเป็นโซลูชันแบบครบวงจรของ Footprint Analytics โดยเฉพาะอย่างยิ่งสำหรับไปป์ไลน์การประมวลผลข้อมูล ปัญหาของเราใหญ่กว่าและซับซ้อนกว่า และเราอาจพูดได้ว่า OLAP เป็นเครื่องมือสืบค้นเพียงอย่างเดียวไม่เพียงพอสำหรับเรา
ยินดีต้อนรับสู่สถาปัตยกรรม Footprint Analytics 3.0 ซึ่งเป็นการยกเครื่องสถาปัตยกรรมพื้นฐานทั้งหมด เราได้ออกแบบสถาปัตยกรรมใหม่ทั้งหมดตั้งแต่เริ่มต้น เพื่อแยกการจัดเก็บ การคำนวณ และการสืบค้นข้อมูลออกเป็นสามส่วนที่แตกต่างกัน บทเรียนจากทั้งสองสถาปัตยกรรมก่อนหน้านี้ของ Footprint Analytics และเรียนรู้จากประสบการณ์ของโครงการข้อมูลขนาดใหญ่ที่ประสบความสำเร็จอื่นๆ เช่น Uber, Netflix และ Databricks
อันดับแรก เราหันมาสนใจที่ Data Lake ซึ่งเป็นที่จัดเก็บข้อมูลประเภทใหม่สำหรับทั้งข้อมูลที่มีโครงสร้างและไม่มีโครงสร้าง Data Lake นั้นสมบูรณ์แบบสำหรับการจัดเก็บข้อมูลแบบ on-chain เนื่องจากรูปแบบของข้อมูลแบบ on-chain มีหลากหลายตั้งแต่ข้อมูลดิบที่ไม่มีโครงสร้างไปจนถึงข้อมูลเชิงนามธรรมที่มีโครงสร้าง Footprint Analytics เป็นที่รู้จักกันดี เราคาดว่าจะใช้ Data Lake เพื่อแก้ปัญหาการจัดเก็บข้อมูล และตามหลักแล้ว มันยังสนับสนุนเครื่องมือประมวลผลหลัก เช่น Spark และ Flink ดังนั้นการรวมเข้ากับเครื่องมือประมวลผลประเภทต่างๆ จึงไม่เป็นเรื่องยุ่งยากเมื่อ Footprint Analytics พัฒนาขึ้น .
Iceberg ทำงานร่วมกับ Spark, Flink, Trino และเครื่องมือคำนวณอื่นๆ ได้เป็นอย่างดี และเราสามารถเลือกการคำนวณที่เหมาะสมที่สุดสำหรับแต่ละเมตริกของเราได้ ตัวอย่างเช่น:
เมื่อ Iceberg แก้ปัญหาการจัดเก็บและการคำนวณ เราจึงต้องมาคิดถึงวิธีการเลือกเครื่องมือสืบค้นข้อมูล มีตัวเลือกไม่มากนัก ทางเลือกที่เราพิจารณาคือ
เมื่อเราตัดสินใจเลือกทิศทางได้แล้ว เราได้ทำการทดสอบประสิทธิภาพของชุดค่าผสม Trino + Iceberg เพื่อดูว่าสามารถตอบสนองความต้องการของเราได้หรือไม่ และที่เราประหลาดใจก็คือข้อความค้นหานั้นรวดเร็วอย่างไม่น่าเชื่อ
เมื่อรู้ว่า Presto + Hive เป็นตัวเปรียบเทียบที่แย่ที่สุดในรอบหลายปีของโฆษณา OLAP การรวมกันของ Trino + Iceberg ทำให้เราทึ่งไปเลย
นี่คือผลการทดสอบของเรา
กรณีที่ 1 : รวมชุดข้อมูลขนาดใหญ่
table1 ขนาด 800 GB รวมกับ table2 อีก 50 GB และทำการคำนวณทางธุรกิจที่ซับซ้อน
กรณีที่ 2: ใช้ตารางเดียวขนาดใหญ่เพื่อทำการค้นหาที่แตกต่างกัน
ทดสอบ sql : เลือกความแตกต่าง (ที่อยู่) จากกลุ่มตารางตามวัน
Trino+Iceberg รวมกันเร็วกว่า Doris ประมาณ 3 เท่าในการกำหนดค่าเดียวกัน
นอกจากนี้ยังมีเซอร์ไพรส์อีกอย่างคือ Iceberg สามารถใช้รูปแบบข้อมูล เช่น Parquet, ORC เป็นต้น ซึ่งจะบีบอัดข้อมูลและจัดเก็บ ที่เก็บข้อมูลตารางของ Iceberg ใช้พื้นที่เพียง 1/5 ของพื้นที่เก็บข้อมูลอื่น ๆ ขนาดที่เก็บข้อมูลของตารางเดียวกันในฐานข้อมูลทั้งสามมีดังนี้:
หมายเหตุ: การทดสอบข้างต้นเป็นตัวอย่างที่เราพบในการผลิตจริงและใช้สำหรับการอ้างอิงเท่านั้น
・ผลการอัพเกรด
รายงานการทดสอบประสิทธิภาพทำให้เราได้รับประสิทธิภาพเพียงพอที่ทีมของเราใช้เวลาประมาณ 2 เดือนในการย้ายข้อมูลให้เสร็จสมบูรณ์ และนี่คือไดอะแกรมของสถาปัตยกรรมของเราหลังการอัปเกรด
นับตั้งแต่เปิดตัวในเดือนสิงหาคม 2021 ทีม Footprint Analytics ได้เสร็จสิ้นการอัปเกรดสถาปัตยกรรม 3 รายการภายในเวลาไม่ถึงปีครึ่ง ด้วยความต้องการและความมุ่งมั่นที่จะนำประโยชน์ของเทคโนโลยีฐานข้อมูลที่ดีที่สุดมาสู่ผู้ใช้ crypto และการดำเนินการที่มั่นคงในการนำไปใช้งาน และการอัปเกรดโครงสร้างพื้นฐานและสถาปัตยกรรมพื้นฐาน
การอัปเกรดสถาปัตยกรรม Footprint Analytics 3.0 ได้ซื้อประสบการณ์ใหม่ให้กับผู้ใช้ ทำให้ผู้ใช้จากภูมิหลังที่แตกต่างกันได้รับข้อมูลเชิงลึกในการใช้งานและแอปพลิเคชันที่หลากหลายมากขึ้น:
มีความท้าทายหลายอย่างที่การเริ่มต้นสร้างดัชนี blockchain สมัยใหม่อาจเผชิญ ได้แก่ :
ในบทความนี้ เราจะตรวจสอบวิวัฒนาการของสถาปัตยกรรมเทคโนโลยีของ Footprint Analytics เป็นระยะเพื่อเป็นกรณีศึกษาเพื่อสำรวจว่าเทคโนโลยี Iceberg-Trino จัดการกับความท้าทายของข้อมูลบนเครือข่ายได้อย่างไร
Footprint Analytics จัดทำดัชนีข้อมูลบล็อกเชนสาธารณะประมาณ 22 รายการ และตลาด NFT 17 แห่ง โครงการ GameFi 1900 โครงการ และคอลเล็กชัน NFT กว่า 100,000 รายการลงในชั้นข้อมูลนามธรรมเชิงความหมาย เป็นโซลูชันคลังข้อมูลบล็อกเชนที่ครอบคลุมมากที่สุดในโลก
โดยไม่คำนึงถึงข้อมูลบล็อกเชน ซึ่งรวมถึงบันทึกการทำธุรกรรมทางการเงินมากกว่า 2 หมื่นล้านแถว ซึ่งนักวิเคราะห์ข้อมูลมักจะสอบถาม ซึ่งแตกต่างจากบันทึกการเข้าในคลังข้อมูลแบบดั้งเดิม
เรามีประสบการณ์การอัปเกรดครั้งใหญ่ 3 ครั้งในช่วงหลายเดือนที่ผ่านมาเพื่อตอบสนองความต้องการทางธุรกิจที่กำลังเติบโต:
ในช่วงเริ่มต้นของ Footprint Analytics เราใช้ Google Bigquery เป็นเครื่องมือจัดเก็บและสืบค้น Bigquery เป็นผลิตภัณฑ์ที่ยอดเยี่ยม มันเร็วอย่างเห็นได้ชัด ใช้งานง่าย และให้พลังเลขคณิตแบบไดนามิกและไวยากรณ์ UDF ที่ยืดหยุ่นซึ่งช่วยให้เราทำงานให้เสร็จได้อย่างรวดเร็ว
อย่างไรก็ตาม Bigquery ก็มีปัญหาหลายอย่างเช่นกัน
เราสนใจผลิตภัณฑ์ OLAP บางตัวซึ่งได้รับความนิยมอย่างมาก ข้อได้เปรียบที่น่าสนใจที่สุดของ OLAP คือเวลาตอบสนองการสืบค้นข้อมูล ซึ่งโดยทั่วไปจะใช้เวลาเพียงเสี้ยววินาทีในการส่งคืนผลการสืบค้นสำหรับข้อมูลจำนวนมหาศาล และยังสามารถรองรับการสืบค้นพร้อมกันนับพันรายการได้อีกด้วย
เราเลือก Doris หนึ่งในฐานข้อมูล OLAP ที่ดีที่สุดมาทดลองใช้ เครื่องยนต์นี้ทำงานได้ดี อย่างไรก็ตาม เมื่อถึงจุดหนึ่ง เราก็พบปัญหาอื่นๆ ในไม่ช้า:
ขออภัย เราไม่สามารถแทนที่ Bigquery ด้วย Doris ได้ ดังนั้นเราต้องซิงโครไนซ์ข้อมูลจาก Bigquery ไปยัง Doris เป็นระยะโดยใช้เป็นเครื่องมือสืบค้นข้อมูลเท่านั้น กระบวนการซิงโครไนซ์นี้มีปัญหาหลายประการ ซึ่งหนึ่งในนั้นคือการเขียนอัปเดตซ้อนกันอย่างรวดเร็วเมื่อเอ็นจิ้น OLAP ไม่ว่างในการให้บริการการสืบค้นไปยังไคลเอนต์ส่วนหน้า ในเวลาต่อมา ความเร็วของกระบวนการเขียนได้รับผลกระทบ และการซิงโครไนซ์ใช้เวลานานกว่ามาก และบางครั้งก็เป็นไปไม่ได้ที่จะเสร็จสิ้น
เราตระหนักว่า OLAP สามารถแก้ไขปัญหาต่างๆ ที่เรากำลังเผชิญอยู่ และไม่สามารถเป็นโซลูชันแบบครบวงจรของ Footprint Analytics โดยเฉพาะอย่างยิ่งสำหรับไปป์ไลน์การประมวลผลข้อมูล ปัญหาของเราใหญ่กว่าและซับซ้อนกว่า และเราอาจพูดได้ว่า OLAP เป็นเครื่องมือสืบค้นเพียงอย่างเดียวไม่เพียงพอสำหรับเรา
ยินดีต้อนรับสู่สถาปัตยกรรม Footprint Analytics 3.0 ซึ่งเป็นการยกเครื่องสถาปัตยกรรมพื้นฐานทั้งหมด เราได้ออกแบบสถาปัตยกรรมใหม่ทั้งหมดตั้งแต่เริ่มต้น เพื่อแยกการจัดเก็บ การคำนวณ และการสืบค้นข้อมูลออกเป็นสามส่วนที่แตกต่างกัน บทเรียนจากทั้งสองสถาปัตยกรรมก่อนหน้านี้ของ Footprint Analytics และเรียนรู้จากประสบการณ์ของโครงการข้อมูลขนาดใหญ่ที่ประสบความสำเร็จอื่นๆ เช่น Uber, Netflix และ Databricks
อันดับแรก เราหันมาสนใจที่ Data Lake ซึ่งเป็นที่จัดเก็บข้อมูลประเภทใหม่สำหรับทั้งข้อมูลที่มีโครงสร้างและไม่มีโครงสร้าง Data Lake นั้นสมบูรณ์แบบสำหรับการจัดเก็บข้อมูลแบบ on-chain เนื่องจากรูปแบบของข้อมูลแบบ on-chain มีหลากหลายตั้งแต่ข้อมูลดิบที่ไม่มีโครงสร้างไปจนถึงข้อมูลเชิงนามธรรมที่มีโครงสร้าง Footprint Analytics เป็นที่รู้จักกันดี เราคาดว่าจะใช้ Data Lake เพื่อแก้ปัญหาการจัดเก็บข้อมูล และตามหลักแล้ว มันยังสนับสนุนเครื่องมือประมวลผลหลัก เช่น Spark และ Flink ดังนั้นการรวมเข้ากับเครื่องมือประมวลผลประเภทต่างๆ จึงไม่เป็นเรื่องยุ่งยากเมื่อ Footprint Analytics พัฒนาขึ้น .
Iceberg ทำงานร่วมกับ Spark, Flink, Trino และเครื่องมือคำนวณอื่นๆ ได้เป็นอย่างดี และเราสามารถเลือกการคำนวณที่เหมาะสมที่สุดสำหรับแต่ละเมตริกของเราได้ ตัวอย่างเช่น:
เมื่อ Iceberg แก้ปัญหาการจัดเก็บและการคำนวณ เราจึงต้องมาคิดถึงวิธีการเลือกเครื่องมือสืบค้นข้อมูล มีตัวเลือกไม่มากนัก ทางเลือกที่เราพิจารณาคือ
เมื่อเราตัดสินใจเลือกทิศทางได้แล้ว เราได้ทำการทดสอบประสิทธิภาพของชุดค่าผสม Trino + Iceberg เพื่อดูว่าสามารถตอบสนองความต้องการของเราได้หรือไม่ และที่เราประหลาดใจก็คือข้อความค้นหานั้นรวดเร็วอย่างไม่น่าเชื่อ
เมื่อรู้ว่า Presto + Hive เป็นตัวเปรียบเทียบที่แย่ที่สุดในรอบหลายปีของโฆษณา OLAP การรวมกันของ Trino + Iceberg ทำให้เราทึ่งไปเลย
นี่คือผลการทดสอบของเรา
กรณีที่ 1 : รวมชุดข้อมูลขนาดใหญ่
table1 ขนาด 800 GB รวมกับ table2 อีก 50 GB และทำการคำนวณทางธุรกิจที่ซับซ้อน
กรณีที่ 2: ใช้ตารางเดียวขนาดใหญ่เพื่อทำการค้นหาที่แตกต่างกัน
ทดสอบ sql : เลือกความแตกต่าง (ที่อยู่) จากกลุ่มตารางตามวัน
Trino+Iceberg รวมกันเร็วกว่า Doris ประมาณ 3 เท่าในการกำหนดค่าเดียวกัน
นอกจากนี้ยังมีเซอร์ไพรส์อีกอย่างคือ Iceberg สามารถใช้รูปแบบข้อมูล เช่น Parquet, ORC เป็นต้น ซึ่งจะบีบอัดข้อมูลและจัดเก็บ ที่เก็บข้อมูลตารางของ Iceberg ใช้พื้นที่เพียง 1/5 ของพื้นที่เก็บข้อมูลอื่น ๆ ขนาดที่เก็บข้อมูลของตารางเดียวกันในฐานข้อมูลทั้งสามมีดังนี้:
หมายเหตุ: การทดสอบข้างต้นเป็นตัวอย่างที่เราพบในการผลิตจริงและใช้สำหรับการอ้างอิงเท่านั้น
・ผลการอัพเกรด
รายงานการทดสอบประสิทธิภาพทำให้เราได้รับประสิทธิภาพเพียงพอที่ทีมของเราใช้เวลาประมาณ 2 เดือนในการย้ายข้อมูลให้เสร็จสมบูรณ์ และนี่คือไดอะแกรมของสถาปัตยกรรมของเราหลังการอัปเกรด
นับตั้งแต่เปิดตัวในเดือนสิงหาคม 2021 ทีม Footprint Analytics ได้เสร็จสิ้นการอัปเกรดสถาปัตยกรรม 3 รายการภายในเวลาไม่ถึงปีครึ่ง ด้วยความต้องการและความมุ่งมั่นที่จะนำประโยชน์ของเทคโนโลยีฐานข้อมูลที่ดีที่สุดมาสู่ผู้ใช้ crypto และการดำเนินการที่มั่นคงในการนำไปใช้งาน และการอัปเกรดโครงสร้างพื้นฐานและสถาปัตยกรรมพื้นฐาน
การอัปเกรดสถาปัตยกรรม Footprint Analytics 3.0 ได้ซื้อประสบการณ์ใหม่ให้กับผู้ใช้ ทำให้ผู้ใช้จากภูมิหลังที่แตกต่างกันได้รับข้อมูลเชิงลึกในการใช้งานและแอปพลิเคชันที่หลากหลายมากขึ้น: