Google ประกาศว่าตอนนี้ Cloud Firestore บริการฐานข้อมูล serverless เก็บเอกสารแบบ NoSQL ได้เข้าสู่สถานะ GA หรือพร้อมให้บริการโดยทั่วไปแล้ว พร้อมประกาศขยายการให้บริการเพิ่มเติม, ลดราคาสำหรับ regional instance รวมถึงอินทิเกรตกับ Stackdriver สำหรับการมอนิเตอร์ได้ด้วย
Cloud Firestore เป็นระบบฐานข้อมูลแบบ cloud-native ที่ Google จัดการระบบให้ โดยออกแบบมาใช้สำหรับงานเก็บ, ซิงค์ และ query ข้อมูลสำหรับเว็บ, มือถือ และแอพ IoT โดยการออกแบบ Cloud Firestore โฟกัสไปที่การช่วยทำให้การพัฒนาแอพง่ายขึ้น ตัวฐานข้อมูลรองรับการซิงค์, ทำงานแบบออฟไลน์ และ ACID transactions
Google ระบุว่า Cloud Firestore ถูกออกแบบมาให้เป็น data backend โดยสมบูรณ์แบบที่สามารถจัดการด้านความปลอดภัยและการยืนยันตัวตน, โครงสร้างพื้นฐาน, การซิงค์ และอื่น ๆ รวมถึงออกแบบมาให้อินทิเกรตเข้ากับ GCP และ Firebase จึงทำให้สามารถใช้ร่วมกับเซอร์วิสต่าง ๆ บนแพลตฟอร์มทั้งสองได้ง่าย
ในส่วนที่ Google ได้ปรับปรุง Cloud Firestore เพื่อรับกับสถานะ GA มีดังนี้
Google ระบุว่า Cloud Firestore นั้นสามารถเข้ากันได้กับ API และไคลเอนท์ไลบรารีของ Cloud Datastore ทั้งหมด ซึ่งลูกค้าของ Cloud Datastore จะได้ live-upgrade ไปยัง Cloud Firestore โดยอัตโนมัติภายในปีนี้ อ่านรายละเอียดเพิ่มเติมเกี่ยวกับการอัพเกรดได้ที่นี่
ที่มา - Google Cloud Blog
Comments
สงสัยต้อง migrate มา server hong kong แล้ว
hong kong ดันไม่มี Cloud Functions ครับ ถ้าจะใช้ร่วมกันต้องเสียค่า network egress อีก สุดท้ายต้องเลือก Tokyo
เคยย้าย Firebase Functions มาไว้เอเชีย สรุปทำงานช้ากว่าเดิมเพราะ Firebase Realtime Database ดันอยู่ US เท่านั้น - -"
ขอบคุณครับ กำลังจะถามเลยว่า rdb มาเปิดแถวๆ นี้รึยัง ได้คำตอบละ
คหสต. ผมคาดว่าน่าจะโดนทิ้งแล้วดองไว้แค่ตรงนั้นครับ เสียใจ
ไม่น่าโดนแทนครับ อย่างเช่นโปรแกรม chat ถ้าเอา firestore มาทำนี่ไม่เกินเดือน คงโดนธนาคารฟ้องล้มละลาย
ใช่ครับมันมีงานประเภทที่ RTDB คุ้มกว่า แต่คือฟีเจอร์ไม่กระดิกเลย orz ทำ query และ security ดีๆ ได้ลำบากเนี่ยแหละครับ
สอบถามหน่อยครับ ถ้าเอา firestore มาเก็บ Chat กับ User 60,000 - 70,000 คน ค่าใช้จ่ายรายเดือนประมาณ (บาท) เท่าไหร่ครับ ถ้าเทียบกับ firebase ต่างกันเยอะไหมครับ ไม่ต้องสนใจงบประเมินเอาจากที่เคยใช้จริงเลยครับ ขอบคุณครับ
ไม่เคยใช้จริงถึงขั้นนั้นนะครับ แต่พอประเมิณคร่าวๆได้ สมมุตินาย A คุยกับนาย B วันละ 100 ข้อความ นาย A กับ B จะต้องเขียนข้อมูลลง DB คนละ 100 รอบ และอ่านอีกคนละ 100 รอบ
read = 200 write = 200 ดังนั้นถ้า 6 หมื่นคนเป็น active user ก็จะใช้ DB แบบหัก free quotaแล้วก็จะตกอยู่ที่ประมาณ read =358.5M write = 359.4M ซึ่งราคา read 0.06$/100k write = 0.18/100k กดเครื่องคิดเลขแล้วจะได้ 646+216 = 862$ หรือประมาณ 28000 บาท ค่าอื่นๆยังไม่ได้บวกเพิ่มก็ลองๆดูได้ครับ
ส่วนโปรแกรมที่ผมทำ ใช้งานในครอบครัว read/wrtie วันนึง 1000 ต้นๆเองครับใช้ฟรีสบายไม่ต้องวาง server เอง โฮะๆๆ
ขอบคุณครับ
โอ้ผมกดเครื่องคิดเลขผิด ถ้า 1 คนส่งข้อความ 100 ครั้งต่อวัน 60000 คนจะตกเดือนละ ประมาณ 15000 บาท ไม่ใช่ 28000 ครับ
แต่ถ้ามีการสร้างกลุ่มคุยกัน จำนวน read จะเท่ากับ write * จำนวนคนเลยครับ เพราะงั้นถ้าสร้างกลุ่มสัก 20 คน คุยกันแบบรัวๆ 1 ชั่วโมงอาจจะได้สัก 500 ข้อความ write = 500 แต่ read นี่ 10000 เลย
อัตราผู้ใช้ต่ำ ลงทุนไม่คุ้มมั้งครับ
ตอนที่ผมใช้ พอต้อง hook event พวก after insert นี่น้ำตาจะไหล ช้ามากกกกกกกกก
อันนี้คือ RTDB เหรอครับ?
ถ้า hook จาก Firebase Functions นี่ผมว่ามันก็ทำงานเร็วนะครับ แต่ปัญหาของ Firebase Functions นี่คือเวลาที่มันไม่ได้ทำงานแล้วระยะนึงมันจะโดนดอง พอเรียกให้กลับมาทำงานมันจะเป็น cold start แล้วมันจะช้าตอนนั้นนี่แหละครับ พวก hook event นี่ก็เดือดร้อนแต่ยังไม่เท่าไหร่ พวก API ที่เปิดให้คนภายนอกเข้าถึงแล้วเค้ารอคำตอบนี้สิอืดเป็นเรือเกลือเลยครับ ?
ตอนผมใช้ประมาณ 3 ปีก่อนนี่ event มัน callback delay ประมาณ 300 ms ครับ
ช้ามากนะ ส่วนปัญหา cold start ผมนึกว่ามันจะแก้แล้วซะอีก
ว่าแต่ตอนนี้ RTDB เป็น version เต็มรึยังครับ ตอนผมใช้มันยังอยู๋ในสภาพกึ่งๆ ทดลอง
ตัวเต็มแล้วครับ เรื่อง cold start นี่น่าจะแก้ไม่ได้มั้งครับ อาจจะทำให้ start ได้เร็วขึ้นเพราะตอนนี้ตั้งค่าได้แล้วว่าให้ฟังก์ชันไหนทำงานด้วยแรมเท่าไหร่ (เดาเอาว่าตั้งน้อยๆ แล้วมันจะเตรียมเครื่องได้เร็วขึ้น แต่ก็ไม่น่าต่างกันสักเท่าไหร่ - -")
เคยเจอปัญหาไม่ได้ใช้งานนานๆ แบบนานเป็นเดือนเลย แล้วพอมี Event ที่ Cloud Functions ควรจะ triggers แต่ไม่เกิดอะไรขึ้นเลย Log ก็ไม่ขึ้น ไหมครับ
ผมเพิ่งเริ่มใช้ dev มาได้ประมาณปีครึ่ง ขึ้น production ที่มีลูกค้าใช้จริงจังตลอดมาได้ปีนึง ในช่วงเวลาที่ว่านี้ไม่เคยเจอปัญหาครับ
อ่าจริงด้วยครับผมลืมสังเกตุเลย งั้นคงเป็น Tokyo แทน อย่างน้อยน่าจะเร็วกว่า US หน่อย
ตอนที่เคยใช้นี่มันไปแย่ง config กันระหว่าง google cloud กับ google dev พวก firebase อ่ะ
แปลง่ายๆคือ เวลาเปิดโปรเจค จะเลือกได้ครั้งเดียวว่าจะใช้ google datastore หรือ firestore (datastore db) หรือ firestore (native db) คือเปลี่ยนทีหลังก็ไม่ได้ ซึ่งตอนนี้ไม่รู้ว่าแก้ไปละยัง
firestore เกิดมาแทน datastore ครับ ตอนนี้ firestore GA แล้วคนที่ยังใช้ datastore จะถูกทยอยอัพเกรดให้ทั้งหมดครับ