วันนี้ที่งาน AWS re:Invent 2022 Adam Selipsky ซีอีโอของ AWS ได้พูดถึงแนวทางการจัดการข้อมูลที่น่าสนใจ คือ “Zero ETL” เขาบอกว่าลูกค้าต่างมีข้อมูลที่กระจัดกระจาย เช่นแอพดึงข้อมูลจาก database และดึงข้อมูลอีกส่วนจาก data lake ซึ่งการนำข้อมูลมาใช้ปกติต้องผ่านกระบวนการที่เรียกว่า ETL (Extract, Transform, Load) เพื่อให้ข้อมูลพร้อมใช้งาน และการทำ ETL ก็ใช้เวลาเยอะ แถมยังยากอีกด้วย
Adam ระบุว่า AWS พยายามออกบริการต่างๆ มาให้ลูกค้าเพื่อให้การทำ ETL นั้นง่ายที่สุด แต่อย่างไรก็ยังเสียเวลาอยู่ดี AWS จึงเลือกทางเดินสู่ Zero ETL หรือไม่มีการทำ ETL เลย ในการนี้จึงประกาศว่า Amazon Aurora กับ Amazon Redshift จะทำงานร่วมกันได้โดยไม่ต้องทำ ETL
Cloudflare เปิดบริการฐานข้อมูล D1 ให้คนทั่วไปใช้งาน หลังจากประกาศทดสอบวงจำกัดตั้งแต่กลางปีที่ผ่านมา แม้ว่าจะใช้งานได้แต่ก็ระบุสถานะว่าเป็น Open Alpha เพราะหลายส่วนยังอยู่ระหว่างการพัฒนาอย่างหนัก ไม่เสถียรพอที่จะเรียกว่าเป็น Beta แต่ทาง Cloudflare ก็อยากให้คนทั่วไปมาพัฒนาซอฟต์แวร์บน D1 ก่อน
ในเวอร์ชั่นนี้มี dashboard ให้ใช้งานสามารถคอนฟิกฐานข้อมูลทั่วไปได้ในตัว, สามารถสั่งรัน SQL ผ่านคำสั่ง wrangler, และใช้งานผ่าน Worker รวมถึง Cloudflare Pages ได้
PostgreSQL ออกเวอร์ชั่น 15 หนึ่งปีหลังจาก PostgreSQL 14 โดยรอบนี้ไม่มีการปรับปรุง syntax การเขียนคิวรีใหญ่ๆ แต่เป็นการปรับปรุงประสิทธิภาพ และการทำงานเบื้องหลังมากกว่า
ในแง่ประสิทธิภาพ การปรับปรุงอัลกอรึทึมการเรียงข้อมูลทำให้การคิวรีในกลุ่ม ORDER BY
ทั้งหลายเร็วขึ้น 25%-400% ขณะที่การคิวรีแบบ SELECT DISTICT
ก็ประมวลผลขนานกันทำให้เร็วขึ้นเช่นกัน อีกส่วนหนึ่งคือประสิทธิภาพเร็วขึ้นจากการรองรับการบีบอัดข้อมูลแบบ LZ4 และ zstd ในตัว ทำให้ประหยัดทั้งพื้นที่ดิสก์ในการเขียน write-ahead log (WAL) และเพิ่มประสิทธิภาพในบางกรณีที่ความเร็วตันที่ IOPS รวมถึงการสั่งคำสั่งสำรองข้อมูล pg_basebackup
ก็รองรับการบีบอัดจากเซิร์ฟเวอร์โดยตรง
ในแง่การคิวรี คำสั่งใหม่ที่เพิ่มเข้ามาคือ MERGE
สำหรับการสั่ง INSERT
, UPDATE
, และ DELETE
ในคำสั่งเดียวตามเงื่อนไข และยังเพิ่มฟังก์ชั่นการประมวลข้อมูลด้วย regular expression อีกหลายตัว ทำให้ค้นหาสตริงได้ซับซ้อนขึ้น
ที่มา - PostgreSQL
ไมโครซอฟท์เปิดบริการ Database Migration Assessment for Oracle เครื่องมีเสริมในบริการ Azure Data Studio ที่ช่วยประเมินว่าฐานข้อมูลในองค์กรสามารถย้ายมาใช้งานบน PostgreSQL ได้ยากง่ายเพียงใด
PostgreSQL พัฒนาโดยมีแนวทางพยายามทำให้รัน SQL จากฐานข้อมูล Oracle ได้ตั้งแต่แรก ทำให้การรองรับโค้ด SQL ข้ามกันได้ค่อนข้างมาก
เครื่องมือนี้ไม่ได้ช่วยแปลงฐานข้อมูลให้ แต่จะเข้าไปวิเคราะห์ว่ามีส่วนที่ย้ายได้ง่ายจุดใดบ้าง และมีจุดที่ย้ายได้ยาก หรือต้องเปลี่ยนสถาปัตยกรรมซอฟต์แวร์ไปเลยตรงไหนบ้าง ไมโครซอฟท์ใช้โครงการโอเพนซอร์ส ora2pg มาสร้างบริการนี้
ClickHouse Inc. บริษัทฐานข้อมูลสำหรับการวิเคราะห์ (online analytical processing - OLAP) ที่แยกออกมาจากบริษัท Yandex ประกาศเปิดบริการ ClickHouse Cloud ให้บริการฐานข้อมูลโดยไม่ต้องจัดการคลัสเตอร์ด้วยตัวเอง
บริการ ClickHouse Cloud อาศัยโครงสร้างของคลาวด์รายหลัก ได้แก่ AWS, Azure, และ GCP โดยช่วงแรกจะรองรับเฉพาะ AWS ก่อน จากนั้นจะคิดค่าบริการเป็นรายนาที ตามปริมาณการเก็บข้อมูล, ประมวลผล, อ่าน, และเขียน นอกจากนี้ตัว Cloud Console จะให้บริการเพิ่มเติม ทั้งบริการดึงข้อมูลเข้า (ingestion), การแสดงข้อมูล (visualization), การใช้งานกับโปรแกรมภาษาต่างๆ, และไคลเอนต์
Cloudflare รายงานถึงการเปลี่ยนฐานข้อมูลสำหรับเก็บ log จากเดิมที่ใช้ Elasticsearch หันมาใช้ฐานข้อมูลแบบคอลัมน์ ClickHouse หลังจากพบข้อจำกัดของ Elasticsearch หลายอย่าง ได้แก่
PostgREST โครงการสำหรับใช้งาน PostgreSQL แบบ REST API ออกเวอร์ชั่น 10.0.0 เพิ่มฟีเจอร์ทำให้สามารถใช้งานฐานข้อมูลผ่านเว็บได้ใกล้เคียงกับการรัน psql มากยิ่งขึ้น ฟีเจอร์สำคัญๆ ได้แก่
Crunchy Data ผู้ให้บริการฐานข้อมูล PostgreSQL บนคลาวด์ เปิดบทเรียน SQL แบบออนไลน์ฟรี ให้ผู้เรียนสามารถฝึกเขียน SQL ได้อย่างอิสระ โดยอาศัยการคอมไพล์ PostgreSQL ทั้งชุดมารันบน WASM ใช้งานได้เหมือนข้อมูลจริง โดยไม่ต้องเปลืองทรัพยากรฝั่งของ Crunchy Data เอง (นอกจากค่าพัฒนาและค่าแบนวิดท์)
PRQL (อ่านว่า prequel ล้อกับ SQL ที่อ่านว่า sequel) ประกาศออกเวอร์ชั่น 0.2 ที่ระบุว่าพร้อมใช้งานได้จริงแล้ว
ตัวภาษา PRQL ออกแบบให้เป็นการแปลงข้อมูลต่อเนื่อง (pipeline of transformations) โดยแต่ละคำสั่งเป็นการแปลงข้อมูลต่อไปเรื่อยๆ ตัวภาษาเมื่อใช้งานจริงจะต้องแปลงเป็น SQL ก่อนรันจริง โดยมีฟีเจอร์ภาษาที่ช่วยให้การเขียนคิวรีง่ายขึ้น เช่น ตัวแปร, ฟังก์ชั่น, และ format string
การใช้งานหลักๆ ของ PRQL จะเป็นงานด้านวิเคราะห์ข้อมูล (analytics) ที่การคิวรีแบบกรองข้อมูลเป็นชั้นๆ เป็นธรรมชาติมากกว่า และแม้ว่าทางโครงการจะระบุว่าเริ่มใช้งานได้จริง แต่ฟีเจอร์ต่างๆ ก็ยังจำกัดอยู่มาก เช่น การทำงานร่วมกับ IDE, หรือการซัพพอร์ตฐานข้อมูลที่แม้จะซัพพอร์ตหลายแบรนด์แต่ก็อาจจะยังไม่สมบูรณ์นัก
Alibaba Cloud เปิดศูนย์ข้อมูลในประเทศไทยไปเมื่อเดือนพฤษภาคมที่ผ่านมาทำให้ตอนนี้น่าจะเป็นผู้ให้บริการคลาวด์รายใหญ่ระดับโลกที่เป็นตัวเลือกของคนที่ต้องการใช้บริการที่ศูนย์ข้อมูลอยู่ในประเทศไทยเอง โดยตัวคลาวด์นั้นโดยทั่วไปแล้วเราก็มักจะนึกถึงบริการเซิร์ฟเวอร์และสตอเรจเป็นพื้นฐาน แต่หลังจากนั้นบริการต่อมาที่มีโอกาสใช้กันบ่อยๆ ก็คงเป็นบริการฐานข้อมูลที่ช่วงหลังๆ การใช้ระบบฐานข้อมูลแบบผู้ให้บริการคลาวด์จัดการให้ (managed database)
บริษัทฐานข้อมูล Snowflake ประกาศรองรับการเชื่อมต่อกับภาษา Python ผ่าน Snowpark API สำหรับนักพัฒนาแอพ
ตัวฐานข้อมูล Snowflake สามารถเข้าถึงได้ด้วย SQL ปกติอยู่แล้ว ส่วนนักพัฒนาสามารถเรียกใช้ข้อมูลผ่าน Snowpark ซึ่งก่อนหน้านี้รองรับเฉพาะ Java และ Scala เท่านั้น การเพิ่ม Python เข้ามาเป็นภาษาที่สาม ช่วยให้คนทำงานสายวิทยาศาสตร์ข้อมูลที่นิยมใช้ Python สามารถเข้าถึง Snowflake ได้ง่ายขึ้น
ตอนนี้ Snowpark for Python ยังมีสถานะเป็นพรีวิว
MongoDB เปิดตัวฟีเจอร์ Queryable Encryption การคิวรีข้อมูลที่ถูกเข้ารหัสอยู่ได้ โดยจะเป็นฟีเจอร์หนึ่งของ MongoDB 6.0 เวอร์ชันหน้า
กฎหมายด้านการคุ้มครองข้อมูลทั่วโลกที่เข้มงวดขึ้นเรื่อยๆ ทำให้การเก็บข้อมูลองค์กรจำเป็นต้องแยกส่วนข้อมูล (separation of data) เช่น แยกเก็บข้อมูลที่ระบุตัวตนได้ไปไว้อีกส่วน รวมถึงต้องเข้ารหัสข้อมูลเพื่อป้องกันการเข้าถึงจากฐานข้อมูลโดยตรง
การเข้ารหัสข้อมูลในปัจจุบันเป็นการเข้ารหัสระหว่างส่ง (in-transit) และตอนนำไปพักเก็บไว้เฉยๆ (at-rest) แต่การเข้ารหัสขณะใช้งาน (in-use) ยังทำได้ยาก มีความซับซ้อนสูง และมีข้อจำกัดในการคิวรีค้นหาข้อมูล
Shadowserver Foundation หน่วยงานไม่หวังผลกำไรด้านความปลอดภัยไซเบอร์ ทดลองสแกนพอร์ต MySQL ของทั้งโลก (ตรวจสอบเฉพาะพอร์ต 3306/TCP ที่เป็นค่าดีฟอลต์) และพบว่ามีเซิร์ฟเวอร์ MySQL ที่สามารถเข้าถึงได้ (accessible คือตอบสถานะกลับมา แต่ไม่ได้ลองล็อกอิน) จำนวน 3.6 ล้านเครื่อง แบ่งเป็น IPv4 2.3 ล้านเครื่อง และ IPv6 อีก 1.3 ล้านเครื่อง
หากดูตัวเลขแยกรายประเทศ เอาเฉพาะ IPv4 สหรัฐอเมริกามีเซิร์ฟเวอร์ MySQL ถูกเข้าถึงได้มากที่สุด 7.4 แสนเครื่อง ตามด้วยจีน 2.96 แสนเครื่อง ส่วนประเทศไทยก็อยู่ในอันดับต้นๆ คือมี 1 หมื่นเครื่อง ถ้าดูของ IPv6 สหรัฐอเมริกามี 4.6 แสนเครื่อง เนเธอร์แลนด์ 2.96 แสนเครื่อง และสิงคโปร์ 2.18 แสนเครื่อง (ไทยมี 136 เครื่อง IPv6)
Google Cloud เปิดตัวบริการใหม่ที่สำคัญในงาน I/O 2022 ปีนี้คือ ฐานข้อมูล AlloyDB ที่เข้ากันได้กับ PostgreSQL 100% (อิงอยู่บน PostgreSQL 14 เวอร์ชันล่าสุด) แต่สถาปัตยกรรมข้างหลังออกแบบใหม่หมด มีความเร็วอ่านเขียนทั่วไปเพิ่มขึ้นจาก PostgreSQL 4 เท่า และถ้าเป็นการคิวรีข้อมูลมาวิเคราะห์จะเร็วขึ้นสูงสุด 100 เท่า
เราสามารถเรียก AlloyDB ว่าเป็นคู่แข่งของ Amazon Aurora ที่ AWS นำ MySQL/PostgreSQL มาปรับแต่งเพิ่มเติม (แต่ฝั่งกูเกิลมีเฉพาะ PostgreSQL) ซึ่งกูเกิลก็ชูว่า AlloyDB เร็วกว่า Aurora PostgreSQL 2 เท่าด้วยเช่นกัน
Cloudflare เพิ่มบริการคลาวด์ตัวใหม่เป็นฐานข้อมูลแบบ SQL ในชื่อ D1 พัฒนาต่อมาจาก SQLite หลังจากก่อนหน้านี้บริการคลาวด์ของ Cloudflare มีเฉพาะฐานข้อมูลแบบ key-value เท่านั้น
สำหรับนักพัฒนา ตัว D1 จะกลายเป็นออปเจกต์ในอาร์กิวเมนต์ของฟังก์ชั่นใน Worker ตัว API สามารถคิวรีได้ทีละ statement หรือจะแพ็กเป็นอาเรย์ทีละหลายๆ statement เพื่อลดเวลาหน่วงที่ต้องติดต่อกับฐานข้อมูลก็ได้ และฐานข้อมูลจะกระจายไปตามเครือข่ายของ Cloudflare ให้เอง ทำให้กสารอ่านข้อมูลเร็วเพราะอยู่ใกล้กับ Worker ที่รันแอปพลิเคชั่น และตัวฐานข้อมูลจะสำรองข้อมูลลงสตอเรจ R2 เป็นช่วงๆ โดยอัตโนมัติ
Cloudflare ทยอยเปิดตัวของใหม่ที่จะเข้ามาทำงานร่วมกับ Cloudflare Workers อย่างต่อเนื่อง ที่ผ่านมามี KV ระบบเก็บข้อมูลแบบ key-value, Durable Objects บริการเก็บสถานะของ Workers และ R2 บริการอ็อบเจ็กสตอเรจแบบไม่คิดค่านำข้อมูลออก
ล่าสุด Cloudflare เปิดตัว D1 ฐานข้อมูลแบบ SQL ตัวแรกของบริษัท เบื้องหลังเป็น SQLite โดย Cloudflare ระบุว่าสามารถสร้างแอพได้แทบจะไร้ขีดจำกัด ตั้งแต่เว็บอีคอมเมิร์ซไปจนถึงระบบ CRM
Akamai ผู้ให้บริการ CDN รายใหญ่ของโลก เพิ่งเข้าซื้อกิจการ Linode ผู้ให้บริการคลาวด์มาเสริมทัพเมื่อเดือน ก.พ. ที่ผ่านมา
ก่อนหน้านี้ Linode มีบริการ compute, network และ storage (block/object/backup) ให้เช่าใช้งานอยู่แล้ว ล่าสุด Linode ขยายบริการฐานข้อมูล (managed database) เพิ่มมาแล้ว
บริการ Linode Managed Database (LMDB) เริ่มจาก MySQL เป็นอย่างแรกก่อน แล้วจะตามมาด้วยฐานข้อมูลอื่นคือ PostgreSQL, Redis, MongoDB ในไตรมาสที่สองของปี 2022
ข่าวเก่าหน่อยแต่คิดว่ายังเป็นประโยชน์อยู่ครับ เมื่อปลายเดือนกุมภาพันธ์ที่ผ่านมาไมโครซอฟท์ได้ออกอัพเดตเวอร์ชัน 1.35 ให้ Azure Data Studio เครื่องมือจัดการฐานข้อมูลตัวใหม่ของไมโครซอฟท์ โดยได้เพิ่มเครื่องมือสร้างและออกแบบ table (Table Designer) และเครื่องมือวิเคราะห์และวัดประสิทธิภาพคิวรี (Query Plan Viewer) ทำให้ Azure Data Studio มีความสามารถใกล้เคียง SQL Server Management Studio (SSMS) ที่มีให้ใช้เฉพาะบน Windows มากขึ้น
บริษัทสตอเรจ NetApp ประกาศเข้าซื้อ Instaclustr สตาร์ทอัพผู้พัฒนาแพลตฟอร์มให้บริการฐานข้อมูลโอเพ่นซอร์สในรูปแบบ as a service โดยไม่เปิดเผยมูลค่า
Instaclustr เป็นบริษัทสตาร์ทอัพจากแคลิฟอร์เนีย ก่อตั้งขึ้นในปี 2013 ธุรกิจหลักคือให้บริการแพลตฟอร์มสำหรับฐานข้อมูลแบบโอเพ่นซอร์ส, pipeline และ workflow แบบ fully-managed หรือ as a service เพื่อให้บริการจัดการระบบเบื้องหลังของแอปและเซอร์วิสต่าง ๆ อย่างมีประสิทธิภาพ
การเข้าซื้อ Instaclustr ถือเป็นหนึ่งในกลยุทธของ NetApp ที่ต้องการเปลี่ยนผ่านจากบริษัทสตอเรจดั้งเดิมไปสู่การพัฒนาแพลตฟอร์มสำหรับ CloudOps ซึ่งในอนาคต NetApp จะอินทิเกรตระบบ Instaclustr เพื่อให้ลูกค้าของบริษัทติดตั้งซอฟต์แวร์ได้ง่ายขึ้นด้วย
Google Cloud เปิดตัวบริการฐานข้อมูลแบบใหม่ BigLakes มันคือการขยายร่าง Google BigQuery ให้มาใช้กับข้อมูลประเภท object storage ได้ด้วย เท่ากับว่าใช้คำสั่งและอินเทอร์เฟซแบบ BigQuery ได้กับทั้งข้อมูลแบบดั้งเดิม (database/data warehouse) และข้อมูลแบบวัตถุ (data lake)
Gerrit Kazmaier ผู้บริหารฝ่ายฐานข้อมูลของ Google Cloud บอกว่าในโลกฐานข้อมูล มีเส้นแบ่งระหว่าง data base กับ data lake มายาวนาน เหตุผลคือข้อมูลประเภทใหม่ๆ มีจำนวนเพิ่มขึ้นเร็วมาก จนไม่สามารถจัดการด้วยวิธีแบบดั้งเดิม (database) ไหว จึงต้องมีการจัดการแบบ data warehouse (structured) และ data lake (unstructured) ขึ้นมารับมือ
SQLite ระบบฐานข้อมูลขนาดเล็กสำหรับใช้กับไฟล์ในเครื่องเป็นหลัก ออกเวอร์ชั่น 3.38.0 โดยฟีเจอร์ที่สำคัญที่สุดคือการรองรับ JSON เป็นค่ามาตรฐานแล้ว
ส่วนขยาย JSON1 ใน SQLite เพิ่มเข้ามาในโค้ดตั้งแต่เวอร์ชั่น 3.9.3 ซึ่งออกมาตั้งแต่ปี 2016 แต่ปิดการใช้งานเป็นค่าเริ่มต้น ผู้ที่ต้องการใช้งานต้องคอมไพล์ SQLite ด้วยตัวเอง ในเวอร์ชั่น 3.38.0 นี้จะเปลี่ยนแนวทางคือผู้ที่ต้องการปิด JSON1 จะต้องเพิ่มออปชั่นขณะคอมไพล์เอง
Hasura บริษัทพัฒนาซอฟต์แวร์โอเพนซอร์สสำหรับแปลงระบบฐานข้อมูล SQL เช่น PostgreSQL, SQL Server, และ Big Query ออกมาเป็น GraphQL ได้รับทุนรอบ C เป็นเงิน 100 ล้านดอลลาร์ โดยไม่ระบุมูลค่าบริษัทในรอบนี้
ตัว GraphQL Engine ของ Hasura ได้รับความนิยมอย่างสูง (25.8k stars บน GitHub) และค่อนข้างห่างจากคู่แข่งตัวอื่นๆ (PostGraphile มี 11.1k stars, pg_graphql 1.6k stars)
ทางบริษัทระบุว่าเงินที่ได้จากการระดมทุนรอบนี้จะใช้ในการพัฒนาซอฟต์แวร์ให้เร็วกว่าเดิม จากนี้ไปจะออกรุ่นย่อยทุกสองสัปดาห์ พร้อมๆ กับพัฒนา Hasura Cloud ให้ปรับฟีเจอร์ต่อเนื่องเช่นกัน
Amazon DynamoDB ฐานข้อมูลแบบ NoSQL ของ AWS มีอายุครบรอบ 10 ปีแล้วในปีนี้ (ออกเวอร์ชัน GA ในเดือนมกราคม 2012) ในโอกาสนี้ทำให้ AWS เล่าเบื้องหลังการสร้าง DynamoDB ขึ้นมา
เรื่องเริ่มจากเทศกาลคริสต์มาสปลายปี 2004 ที่มียอดสั่งซื้อเป็นจำนวนมาก ทำให้ระบบอีคอมเมิร์ซของ Amazon ที่ตอนนั้นใช้ฐานข้อมูลแบบ relational ถึงกับพัง เป็นสัญญาณบอกว่าฐานข้อมูลแบบ relational ถูกใช้จนถึงขีดจำกัดแล้ว
Multiprocess Labs ผู้พัฒนา DataStation ที่เป็น IDE สำหรับการคิวรีข้อมูล โอเพนซอร์สโครงการ dsq สำหรับการคิวรีข้อมูลไฟล์ต่างๆ ด้วยภาษา SQL
โครงการโอเพนซอร์สสำหรับคิวรีข้อมูลในไฟล์ด้วย SQL นั้นมีมาก่อนหน้านี้แล้วหลายโครงการ แต่ไลบรารี DataStation นั้นมีจุดเด่นที่การรองรับไฟล์ฟอร์แมตหลากหลายกว่า เช่น Excel, OpenOffice Sheet, JSONL (JSON ที่แบ่งตามบรรทัด), Apache2 log, และ nginx log
เบื้องหลังของโปรแกรมในกลุ่มนี้ เช่น textql หรือ q มักใช้ SQLite เป็นเอนจินด้านหลัง และตัวโปรแกรมก็แปลงข้อมูลเพื่อส่งเข้าไปยัง SQLite ก่อนจะรันคิวรีอีกที แต่การมีโปรแกรมลักษณะนี้ก็ช่วยทำให้งานหลายประเภทที่ต้องการคิวรีเป็นครั้งคราวใช้งานได้สะดวกขึ้นมาก
กูเกิลอัพเพิ่มฟีเจอร์บริการ BigQuery บน Google Cloud ให้รองรับฟิลด์แบบ JSON ทำให้ผู้ใช้สามารถใส่ข้อมูลกลุ่มที่ไม่มี schema ชัดเจนเข้ามา
ก่อนหน้านี้ BigQuery รองรับข้อมูลประเภท STRUCT ที่เป็นออปเจกต์ซับซ้อนภายในได้อยู่แล้ แต่ก็ต้องประกาศโครงสร้างข้อมูลไว้ล่วงหน้า หากคิวรีโดยอ้างฟิลด์ที่ไม่มีข้อมูลก็จะ error ไปเลย แต่สำหรับ JSON การคิวรีจะใช้ syntax แบบเดียวกันกับ STRUCT แต่หากอ้างถึงฟิลด์ที่ไม่มีข้อมูลก็จะได้ค่า NULL