You wanna cry, but tearless. The General Manager is yelling at IT technicians fo...
一條慢查詢會造成什麼後果?之前我覺得不就是返回資料會慢一些嘛,使用者體驗變差一點而已? 其實遠遠不止,我經歷過幾次線上事故,有一次就是由一條 SQL 慢查詢...
#前面已經分享過以 HTTP API 或 JavaScript driver 開發 Neo4j 前端應用,今天我們就來看後端應用囉,這篇文章會以 Golang...
在上一篇文章「」中我們介紹了聚合管線的操作,在 MongoDB 官方文件中我們可以看到有許多運算子支持對管線中各個階段的操作,今天這篇文章先來介紹其中兩個:$...
在實務開發上,我們有可能會遇到專案的業務需求越來越複雜,會使用的資料庫相對變得比較分散,這時就可以採用多資料來源方式取得資料,而這篇文章將介紹如何在 Sprin...
我們接著要開始介紹 MongoDB 中最重要的概念:聚合 Aggregation。 這篇文章我們會先介紹 MongoDB 執行聚合操作的方法:聚合管線(Agg...
在這篇文章中我們將會介紹如何在 MongoDB 中處理地理空間資料,透過 GeoJSON 的資料格式來執行地理空間資料的操作。 GeoJSON 物件 我們...
(這其實是一個很複雜且相對較進階的主題,本篇文章僅供認識這個概念,相關實作範例都是終極簡化版) 什麼是 DB Sharding,為什麼需要它 ? 在海量資料的儲...
在介紹 MongoDB 索引的系列文章中,我們介紹了為什麼要使用索引、使用索引的優缺點、唯一值索引及超時刪除索引。今天接著介紹 聯合索引 Compound I...
在之前兩篇文章中我們介紹了為什麼要使用索引,也提到索引可能會造成查詢效率下降及排序效率上升。這篇文章將會介紹兩種特別的索引:唯一值索引 unique inde...
在上一篇「」文章中,我們介紹了 MongoDB 中的索引 Index,也介紹了單一欄位的索引。今天接著來介紹使用索引的優點及缺點。 索引可能會拖慢查詢速度...
接下來幾篇我們將介紹 MongoDB 中的一個重要概念:Index 索引。索引的使用會讓我們進行查詢時有很大的影響。 什麼是索引?為什麼要用索引? 在 M...
(以下圖片來源出自讀書會成員講義) 在談分散式以前,首先來談談單機運作的概念。當我們的服務是單機運作時,伺服器的架構設計通常會是以下其中一種: 一個服務在一台...
上一篇文章介紹了在 Neo4j 檢視並優化執行計畫,今天會延伸這個主題,做更深入的分享。在簡單的查詢中,交給 Neo4j 決定即可;但是在非常龐大的資料庫,或是...
今天這篇進階的 CRUD 操作文章裡,我們會介紹 upsert 以及關於資料刪除的一些補充內容。 upsert 我們如果執行以下指令:db.people....
上一篇文章提到併發狀態的 transaction 仍然會遇到一些不預期的錯誤,分別有髒讀、不可重複讀、幻讀,今天就要來看看資料庫是怎麼解決這些問題的。 解決併發...
今天這篇進階的 CRUD 操作文章裡,我們會介紹幾個可以對 field 的 value 進行操作的運算子,包含 $inc、$max、$min、$elemMat...
在上一篇文章中,介紹了在 Neo4j 建立索引和約束,來增加查詢效率或確保資料的完整、一致性,那麼說到效率,我們怎麼知道查詢的效率好壞呢?今天要介紹的是如何讓...
(以下圖片來自讀書會夥伴講義) 前兩篇文章介紹了資料庫 Transaction 與 ACID 的特性,可以避免一些資料不一致的問題,然而就算有 Atomici...
今天這篇進階的 CRUD 操作文章裡,我們會介紹 updateOne() 及 updateMany() 這兩個更新操作的進階用法,以及 $set、$unset...
昨天提到了什麼是 transaction,今天則要簡單談談 transaction 的四大特性:ACID。 接下來要講到 transaction 所具備的四個...
如果對後端領域有稍微接觸過的話,一定不會對資料庫的操作感到陌生,我們可以藉由 SQL 指令來進行資料的讀取、新增、修改、刪除…等操作。然而試想一下情境,如果是一...
我們在之前都會使用 find() 來檢視或查詢資料,但有時候我們會想要針對回傳的結果進行一些處理,例如:排序、數量限制、翻頁效果等,就會使用到今天要介紹的這三...
前面兩篇文章介紹了 比較查詢運算子、邏輯查詢運算子 及 元素查詢運算子,今天要來介紹 Array 相關查詢運算子。 Array 相關查詢運算子 在實際資料...
前言 Redis 是 BSD 授權的開源軟體,屬於 NoSQL 家族成員之一,是 in-memory 的 key-value 資料庫,基於資料存在記憶體的特性,...
在上一篇文章中介紹了 比較查詢運算子 及 邏輯查詢運算子 ,今天接著來介紹 元素查詢運算子 Element Query Operators。 元素查詢運算...
ORM 介紹 昨日,我們直接利用實作來感受 Spring Data JPA 的快速開發,會發現到我們只要建立 Entity,就可以幫助我們做資料庫映射來新增資料...
from Toptal - Eight Common Database Design Bad Practices 由於資料庫的討論及教學的材料非常多,本筆...
在之前「Day05: MongoDB 的 CRUD(3) - Find & Update」這篇文章中曾使用到 比較查詢運算子 $gt 來做進階的資料查...
我們之前使用的資料範例,都是直接在 mongo Shell 中透過 insertOne() 或 insertMany() 來新增資料,但在實際操作中,我們的資...