ความแตกต่างของ SQL Database และ Firebase Database

ตอบกระทู้

รูปแสดงอารมณ์
:icon_plusone: :like: :plusone: :gfb: :-D :) :( :-o 8O :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: :angry: :baa: :biggrin:
รูปแสดงอารมณ์อื่นๆ

BBCode เปิด
[img] เปิด
[url] เปิด
[Smile icon] เปิด

กระทู้แนะนำ
   

มุมมองที่ขยายได้ กระทู้แนะนำ: ความแตกต่างของ SQL Database และ Firebase Database

ความแตกต่างของ SQL Database และ Firebase Database

โดย Four » 09/01/2018 4:23 pm

SQL Database (Relational Database)
SQL Database เป็น Relational Database ก็จะมีโครงสร้างเป็น Table, Column และ Row ของข้อมูล
Relational Database ก็จะใช้ Schema เพื่อที่จะทำให้โครงสร้างข้อมูลใน Table นั้นถูกต้อง ซึ่งเปรียบเสมือน blueprint ในการควบคุม ทั้ง Column ของประเภทของข้อมูล, ข้อมูล, ความต้องการของข้อมูลในแต่ละ Field และ Primary Key ที่จะไม่ซ้ำและเป็นตัวบ่งบอกถึงข้อมูลแต่ละ record
ข้อดีของ SQL Database คือข้อมูลจะมีความถูกต้องตามที่ได้ออกแบบไว้ แต่หากออกแบบไม่ดีหรือต้องการเปลี่ยน Schema เมื่อมีข้อมูลใน database แล้ว ก็จะต้องมีเรื่องของการ migrate ข้อมูลในลำดับต่อมาด้วย

Firebase Database (NoSQL)
Firebase Database นั้นเป็น Database แบบ NoSQL และเป็น JSON database ที่มีโครงสร้างที่เป็น Key และ Value
NoSQL ส่วนมากที่เรารู้จักก็เป็นแบบ schema-less อยู่แล้ว ดังนั้นมันจึงมีความยืดหยุ่นที่ไม่จำเป็นต้องออกแบบ schema ก่อนจะเพิ่มข้อมูล และไม่จำเป็นต้อง ALTER Table
การที่เราไม่ได้ออกแบบ Schema ก่อนนั้น ก็ไม่ได้หมายความว่าเราจะไม่สามารถ validate ข้อมูลก่อนที่จะเก็บลง datbase ได้นะ เพราะ Firebase Database มี Security Rules เตรียมให้เราไว้ตรวจสอบข้อมูลก่อนเพิ่มข้อมูลลง database อยู่แล้ว

สรุปความแตกต่างของ SQL Database กับ Firebase Database ก็คือเรื่องของ ความถูกต้องของข้อมูล(Data Integrity) กับ ความยืดหยุ่นของโครงสร้างและข้อมูล(Flexibility) โดย Security Rules นั้นจะเป็นตัวช่วยให้ข้อมูลใน Firebase Database มีความถูกต้อง

ข้างบน