database

細說 MySQL 與 UUIDs 的問題

因為 UUID 提供低碰撞的隨機性,所以實務上蠻多人會使用 UUID 作為資料表的主鍵(PK),不過使用上要注意一些事: 使用 VARCHAR 作為儲存 UUID 的資料型態,會佔據較多的

Posted on  Jul 3, 2023  by  Amo Chen  ‐ 1 min read

Weaviate - 向量資料庫

Weaviate 是開放原始碼(open source)的向量資料庫(vector database),可以用它存各種向量型的資料,例如一些 Machine Learning Model 都是一堆向量資

Posted on  Apr 13, 2023  by  Amo Chen  ‐ 1 min read

後端工程師面試考什麼 - ACID 篇

隨著資訊技術的發展,工程師的面試越來越五花八門,面試過程問什麼都不足為奇,不過仍有些問題能夠事先準備,這些問題不僅常問也很實用,除了能夠應付面試之外,也能增加個人實力。

本文記錄後端工程師面試時經常會問到的資料庫 ACID 原則,並以實際範例作為說明,以讓人能夠對 ACID 有足夠的理解,避免死背。

Posted on  Sep 17, 2022  in  後端面試準備  by  Amo Chen  ‐ 3 min read

Backend 淺談 database Transaction Isolation Levels

在資料庫管理系統中有 4 個很重要的特性被稱為 ACID(Atomicity, Consistency, Isolation, Durability) ,也就是不可分割性、一致性、隔離性、持久性,這 4 個重要特性是為了確保每個 Transaction 操作結果都是正確、可靠的。

其中 Isolation 是為了防止多個 Transactions 同時執行導致資料不一致的情況,而 Isolation 中又有所謂的 Isolation Levels ,根據 SQL-92 的標準分為 4 種級別:

  1. Repeatable Read
  2. Read Committed
  3. Read Uncommitted
  4. Serializable

Posted on  Sep 30, 2018  in  資訊技術探索  by  Amo Chen  ‐ 3 min read