เมื่อกี้เลื่อนๆ อยู่ใน HN เจอกระทู้ Show HN ชื่อ Relational-to-KV โพสต์โดยคนทำเอง ตอนแรกเห็นพอยท์แค่ 3 กับคอมเมนต์ 0 ก็คิดว่าเดี๋ยวคงผ่านๆ ไป แต่พอเข้าไปดู repo ใน GitHub จริงๆ คือ rockeet/relational-to-kv มันดึงดูดสายตาผมตรงที่เค้าใช้ AI ช่วยแมป relational model ไปเป็น ToplingDB หรือ RocksDB อัตโนมัติ ซึ่งปกติเรื่องนี้มันเป็นงานที่ปวดหัวมากๆ เพราะต้องมานั่งคิดเองว่า table ไหนควรแยก key ยังไง ควรทำ secondary index ยังไงให้ query เดิมยังทำงานได้ ตัวนี้เค้าอ้างว่าช่วยให้คนที่ไม่ถนัด KV store ลึกๆ สามารถย้ายจาก SQL ไปใช้ KV ได้โดยไม่ต้องทิ้ง schema เดิม ซึ่งผมว่ามันตอบโจทย์คนที่อยากได้ performance แบบ LSM tree แต่ติดอยู่กับความรู้สึกเดิมๆ ของ relational
ส่วนตัวผมมองว่าไอเดียดีมากตรงที่มันเป็นตัวกลางช่วยแปล ไม่ใช่ให้เราไปเขียน KV mapping เองทุกตัว ซึ่งตอนนี้ในวงการมันมี tools เยอะแยะที่ทำ ORM หรือ query translation แต่ส่วนใหญ่ยังต้องใช้คนจูนเองว่า key pattern ควรเป็นยังไง ตัวนี้ใช้ AI เข้ามาช่วยคิด pattern ให้ มันก็ประหยัดเวลาไปได้เยอะ แต่ที่ผมกังวลคือเรื่องความถูกต้องของ query ที่ซับซ้อนๆ เช่น join หรือ aggregate พวกนี้พอแปลงไปเป็น KV แล้วมันจะยัง maintain consistency ยังไง โดยเฉพาะถ้า AI แมปพลาดแล้ว data มันกากๆ ขึ้นมา หรือ worst case คือ migrate ไปแล้วเจอ bug ทีหลังจะแก้ยากน่าดู เพราะของแบบนี้ถ้ามันผิดพลาดตอน runtime ไม่ใช่ตอน compile มันจะ debug ยากมากๆ แล้วก็อดคิดไม่ได้ว่าเค้าทำออกมาเป็นแค่ POC หรือจริงจังพอจะเอาไปใช้ production เพราะตอนนี้ใน repo ยังดูเหมือนเพิ่งเริ่มต้น ไม่มี benchmark หรือ use case จริงให้ดูเท่าไหร่
อยากถามเพื่อนๆ ในกลุ่มว่ามีใครลองเล่นตัวนี้หรือตัวคล้ายๆ แบบนี้บ้างมั้ย แล้วคิดว่าแนวทางใช้ AI แมป schema อัตโนมัติแบบนี้มันจะมาแทน manual tuning ของ DBA ได้จริงหรือเปล่า หรือว่ายังไงก็ต้องมีคนคอยตรวจสอบอีกชั้นหนึ่งอยู่ดี? แล้วถ้าให้เลือกระหว่างเสียเวลานั่งออกแบบ key ด้วยตัวเองกับยอมเสี่ยงให้ AI แมปให้แล้วมาแก้ทีหลัง เพื่อนๆ จะเลือกทางไหน?
ส่วนตัวผมมองว่าไอเดียดีมากตรงที่มันเป็นตัวกลางช่วยแปล ไม่ใช่ให้เราไปเขียน KV mapping เองทุกตัว ซึ่งตอนนี้ในวงการมันมี tools เยอะแยะที่ทำ ORM หรือ query translation แต่ส่วนใหญ่ยังต้องใช้คนจูนเองว่า key pattern ควรเป็นยังไง ตัวนี้ใช้ AI เข้ามาช่วยคิด pattern ให้ มันก็ประหยัดเวลาไปได้เยอะ แต่ที่ผมกังวลคือเรื่องความถูกต้องของ query ที่ซับซ้อนๆ เช่น join หรือ aggregate พวกนี้พอแปลงไปเป็น KV แล้วมันจะยัง maintain consistency ยังไง โดยเฉพาะถ้า AI แมปพลาดแล้ว data มันกากๆ ขึ้นมา หรือ worst case คือ migrate ไปแล้วเจอ bug ทีหลังจะแก้ยากน่าดู เพราะของแบบนี้ถ้ามันผิดพลาดตอน runtime ไม่ใช่ตอน compile มันจะ debug ยากมากๆ แล้วก็อดคิดไม่ได้ว่าเค้าทำออกมาเป็นแค่ POC หรือจริงจังพอจะเอาไปใช้ production เพราะตอนนี้ใน repo ยังดูเหมือนเพิ่งเริ่มต้น ไม่มี benchmark หรือ use case จริงให้ดูเท่าไหร่
อยากถามเพื่อนๆ ในกลุ่มว่ามีใครลองเล่นตัวนี้หรือตัวคล้ายๆ แบบนี้บ้างมั้ย แล้วคิดว่าแนวทางใช้ AI แมป schema อัตโนมัติแบบนี้มันจะมาแทน manual tuning ของ DBA ได้จริงหรือเปล่า หรือว่ายังไงก็ต้องมีคนคอยตรวจสอบอีกชั้นหนึ่งอยู่ดี? แล้วถ้าให้เลือกระหว่างเสียเวลานั่งออกแบบ key ด้วยตัวเองกับยอมเสี่ยงให้ AI แมปให้แล้วมาแก้ทีหลัง เพื่อนๆ จะเลือกทางไหน?
ความคิดเห็น 2
กำลังโหลดความคิดเห็น...