EventQL เป็นฐานข้อมูลคอลัมน์แบบกระจายที่สร้างขึ้นสำหรับการรวบรวมข้อมูลขนาดใหญ่และเวิร์กโหลดการวิเคราะห์ มันสามารถจัดการกับการสตรีมมิ่งจำนวนมากและเรียกใช้ SQL ที่รวดเร็วเป็นพิเศษและแบบสอบถาม MapReduce
ข้อมูลเพิ่มเติม: เอกสาร, ดาวน์โหลด, สถาปัตยกรรม, การเริ่มต้นใช้งาน
นี่คือคุณสมบัติที่สำคัญของ EventQL อย่างรวดเร็วเพื่อให้คุณตื่นเต้น สำหรับข้อมูลรายละเอียดเพิ่มเติมเกี่ยวกับหัวข้อเหล่านี้และคำเตือนของพวกเขาคุณจะได้รับการอ้างอิงถึงเอกสาร
การแบ่งพาร์ติชันอัตโนมัติ ตารางจะถูกแบ่งออกเป็นพาร์ติชันอย่างโปร่งใสโดยใช้คีย์หลักและแจกจ่ายระหว่างเครื่องหลายเครื่อง คุณไม่จำเป็นต้องกำหนดค่าจำนวนเศษล่วงหน้า เพียงแค่แทรกข้อมูลของคุณและ EventQL จัดการส่วนที่เหลือ
Idempotent เขียน รองรับการแทรกการใช้งานหลักคีย์การดำเนินการและลบ คุณสามารถใช้การดำเนินการ UPSERT เพื่อการบริโภคที่ง่ายต่อการสตรีมจากแหล่งสตรีม
พื้นที่จัดเก็บเสาขนาดกะทัดรัด กลไกการจัดเก็บคอลัมน์ช่วยให้ EventQL สามารถลดรอยเท้า I/O อย่างมากและดำเนินการตามคำสั่งการวิเคราะห์การวิเคราะห์ที่มีขนาดเร็วกว่าระบบที่มุ่งเน้นแถว
การสนับสนุน SQL มาตรฐาน (เกือบ) การสนับสนุน SQL 2009 ที่สมบูรณ์ (มันเข้าร่วม!) การสืบค้นจะถูกขนานโดยอัตโนมัติและดำเนินการบนเครื่องจักรหลายเครื่องในแบบคู่ขนาน
ตาชั่งเป็น petabytes EventQL จัดจำหน่ายพาร์ติชันและการสืบค้นตารางทั้งหมดในหมู่เซิร์ฟเวอร์ที่ได้รับการยกเว้นจำนวนเท่ากัน ให้เครื่องจักรเพียงพอที่คุณสามารถจัดเก็บและสอบถามหลายพันถ้าข้อมูล terrabytes ในตารางเดียว
สตรีมมิ่งการดำเนินงานที่มีความล่าช้าต่ำ คุณไม่จำเป็นต้องแบตช์โหลดข้อมูลลงใน EventQL - สามารถจัดการกับการสตรีมมิ่งจำนวนมากและการดำเนินการอัปเดต การกลายพันธุ์ทั้งหมดสามารถมองเห็นได้ทันทีและเวลาแฝงแบบสอบถาม SQL น้อยที่สุดคือ ~ 0.1ms
Timeseries และข้อมูลเชิงสัมพันธ์ การแบ่งพาร์ติชันอัตโนมัติรองรับ Timeseries รวมถึงข้อมูลเชิงสัมพันธ์และคีย์ตราบใดที่มีคีย์หลักที่ดี เครื่องมือจัดเก็บข้อมูลยังรองรับประเภทซ้ำและบันทึกเพื่อให้วัตถุ JSON สามารถแทรกลงในแถวได้
HTTP API HTTP API ช่วยให้คุณสามารถใช้ผลลัพธ์การสืบค้นในแอปพลิเคชันใด ๆ และส่งข้อมูลจากแอปพลิเคชันหรืออุปกรณ์ใด ๆ ได้อย่างง่ายดาย EventQL ยังรองรับโปรโตคอลที่ใช้ TCP ดั้งเดิม
การสแกนช่วงเร็ว พาร์ติชันตารางใน EventQL ได้รับการสั่งซื้อและมีคีย์เรนจ์ที่กำหนดไว้ดังนั้นคุณสามารถทำการสแกนช่วงที่มีประสิทธิภาพในส่วนของ Keyspace
ฮาร์ดแวร์มีประสิทธิภาพ EventQL ถูกนำไปใช้ใน C ++ ที่ทันสมัยและพยายามที่จะบรรลุประสิทธิภาพสูงสุดในฮาร์ดแวร์สินค้าโภคภัณฑ์โดยใช้การดำเนินการแบบเวกเตอร์และคำแนะนำ SSE
พร้อมใช้งานสูง สถาปัตยกรรมที่ใช้ร่วมกันของ EventQL นั้นมีความผิดปกติอย่างมาก คลัสเตอร์ประกอบด้วยโหนดที่ได้รับการยกเว้นจำนวนมากและไม่มีจุดล้มเหลวเพียงจุดเดียว
ในตัวเอง คุณสามารถตั้งค่าคลัสเตอร์ใหม่ในไม่กี่นาที EventQL Server จัดส่งเป็นไบนารีเดียวและไม่มีการพึ่งพาภายนอกยกเว้น Zookeeper หรือบริการประสานงานที่คล้ายกัน
นี่คือสถานการณ์ตัวอย่างบางอย่างที่เหมาะกับการออกแบบของ EventQL โดยเฉพาะ:
โปรดทราบว่า EventQL ถูกสร้างขึ้นรอบตัวเลือกการออกแบบเฉพาะที่ทำให้มันเป็นงานที่ยอดเยี่ยมสำหรับงานการวิเคราะห์ข้อมูลแบบเรียลไทม์ (OLAP) แต่ยังหมายความว่ามันไม่เหมาะสำหรับเวิร์กโหลดธุรกรรม (OLTP) ส่วนใหญ่
ก่อนที่เราจะเริ่มต้นเราจำเป็นต้องติดตั้งการพึ่งพาการสร้างบางอย่าง ปัจจุบันคุณต้องมีคอมไพเลอร์ C ++ ที่ทันสมัย, Libz, Autotools และ Python (สำหรับ Spidermonkey/Mozbuild)
# Ubuntu
$ apt-get install clang make automake autoconf libtool zlib1g-dev
# OSX
$ brew install automake autoconf libtool
เพื่อสร้าง EventQL จากการจัดจำหน่าย tarball:
$ ./configure
$ make
$ sudo make install
ในการสร้าง EventQL จากการชำระเงิน GIT:
$ git clone [email protected]:eventql/eventql.git
$ cd eventql
$ ./autogen.sh
$ ./configure
$ make V=1
$ src/evql -h
เพื่อเรียกใช้ชุดทดสอบเต็มรูปแบบ (โลก):
$ make test
ในการเรียกใช้ชุดทดสอบอย่างรวดเร็ว (ควัน):
$ make smoketest