Firestore යනු බහුලව භාවිතා වන Firebase දත්ත ගබඩා වේ. එය "මූලික දත්ත ගබඩා" ලෙස පළමු අදියරේ ඉතා පහසුය – ලිවීමත් කියවීමත් එකම තැනින් සිදු වේ, onSnapshot මගින් රියල්‑ටයිම් දත්ත යාවත්කාලීනව පෙන්වයි. නමුත් යෙදුම විශාල වීමත් සමඟ Firestore‑වලට SoT (source of truth) වශයෙන් පවත්වාගෙන යාමට අඩුපාඩු පෙනෙන්නා.
කොහොමද වෙනස් කළේ? එක් ව්යාපෘතියක නවීන පරිසරයක් නිර්මාණය කිරීමේදී, Cloud SQL‑ව SoT ලෙස තෝරා, Firestore‑ව කියවීමට සුදුසු projection එකක් ලෙස ගෙන එන ලදී. ලිවීමේ ඉල්ලීම් සියල්ල Backend (Next.js/Cloud Run) හරහා ගොස්, Data Connect මගින් Cloud SQL‑ට සහ Firestore‑ට එකවර යාවත්කාලීන කරයි. එක්ක, Cloud Run‑හි reconciliation job එකක් ක්රියාත්මක කර, SoT‑වූ Cloud SQL‑වලට අනුකූලව Firestore‑ව සත්යතාවය පරීක්ෂා කර අවශ්ය නම් අලුත් කරයි.
මෙයින් ලැබෙන ප්රතිලාභ:
- SQL‑වලින් ලැබෙන transactional consistency සහ සංකීර්ණ query හැකියාව.
- Firestore‑වලින් ලැබෙන data modeling සවිස්තරය හා රියල්‑ටයිම් push.
- OpenSearch, BigQuery වැනි බාහිර පද්ධති සමඟ ස්මූත් සම්බන්ධතා.
- Frontend එකට onSnapshot මගින් වහාම දත්ත වෙනස්වීම පෙන්වීම, optimistic‑update අවශ්ය නොවේ.
අවාසි වශයෙන්, ලිවීමේදී දෙකකට එකවර ලියවීම (double write) සිදු වන නිසා, එකක් අසාර්ථක වුවහොත් දත්ත අසමතුලිත වීමේ අවදානමක් ඇත. මේ අවදානම මැඩගැසීමට Cloud Run reconciliation job එක භාවිතා කර, SoT‑වූ SQL‑වලින් Firestore‑ව සවිස්තරාත්මකව යාවත්කාලීන කරයි. එබැවින් Firestore‑ව “ආපසු ගොඩනැගිය හැකි cache” ලෙස සලකිය හැක.
ශ්රී ලංකාවට ඇති වැදගත්කම
ශ්රී ලංකාවේ තරුණ සංවර්ධකයින්, startup ආරම්භකයන් සහ ව්යාපාරික IT කණ්ඩායම් සඳහා මෙය විශාල අවස්ථාවකි. Cloud SQL‑ව SoT ලෙස භාවිතා කිරීමෙන් දත්ත ගැටළු නැතිව, සංකීර්ණ ව්යාපාර නියමයන් සපුරාලීම සලසා දෙන අතර, Firestore‑ව cache ලෙස ගෙන එමින් රියල්‑ටයිම් UI අත්දැකීම ලබා දේ. එමඟින් ශ්රී ලංකාවේ mobile‑first හා web‑centric යෙදුම්වල scalability සහ reliability වැඩිවේ, ග්රාමීය පරිසරයන්හි ඉතා අඩු latency සමඟ cloud‑based සේවා භාවිතා කළ හැකිය. එසේම, Cloud Run, Data Connect වැනි Google Cloud සේවා භාවිතා කිරීමෙන් පළාත් මට්ටමේ IT පරිසරය අන්තර්ජාල‑මූලිකව සවිබල ගැන්වීමේ පදනම තබයි.
අවසන් වශයෙන්, කෙටි කාලීන prototype එකක් සඳහා Firestore‑ව SoT ලෙස තබා ගැනීමේ වැදගත්කම අඩුය. නමුත් වසර කිහිපයක් පවත්වාගෙන යාමට අදහස් කරන ව්යාපාරයන්ට, මුලින්ම Firestore‑ව cache ලෙස සැලසුම් කරගැනීම, පසුව migration වියදම ඉතා අඩු කරයි. එම නිසා, ඔබේ ඊළඟ ව්යාපෘතියේ data architecture සැලසුම් කරන විට, Cloud SQL + Firestore cache ආකාරය අනිවාර්යයෙන් පරීක්ෂා කරන්න.