Tag Archives: sql

Amazon Aurora (MySQL) 推出的 Asynchronous Key Prefetch

Amazon Aurora (MySQL) 推出新的效能改善,可以改善 JOIN 時的效能:「Amazon Aurora (MySQL) Speeds Join Queries by More than 10x with Asynchronous Key Prefetch」。 看起來像是某個情況的 optimization,將可能的 random access 換成 sequential access 而得到大量的效能: This feature applies to queries that require use of the Batched Key Access … Continue reading

Posted in AWS, Cloud, Computer, Database, Murmuring, MySQL, Network, Software|Tagged , , , , , , , , , , , , , , , , , , , , , , |Leave a comment

InnoDB 的 MVCC 繁忙時的效能問題

在 Facebook 上看到 Percona 的人修正了 InnoDB 的 MVCC 在繁忙時會有 的效能問題: 在 MySQL 官方的 bug tracking system 是「InnoDB's MVCC has O(N^2) behaviors」這個,可以看到給的重製範例是在 transaction 內大量塞 INSERT 進去後,另外一個 transaction 使用 secondary index 就會受到影響。 裡面也有提到「Secondary index updates make consistent reads do O(N^2) undo page … Continue reading

Posted in Computer, Database, Murmuring, MySQL, Programming, Software|Tagged , , , , , , , , , , , , , |Leave a comment

PostgreSQL 10 發表

PostgreSQL 10 發表,有不少重要的功能 (進步):「PostgreSQL 10 Released」。 首先提到的是 Logical Replication: Logical Replication - A publish/subscribe framework for distributing data 以往內建的 replication 是 block level change (同步哪個 block 改變的內容),對於版本不同的 PostgreSQL 就會痛。所以在 10 之前,想要處理 PostgreSQL 版本不同的問題都會使用第三方套件 (一種常見的情境就是資料庫的版本升級)。在 10 內建支援 Logical Replication 後就不需要掛其他套件了: Logical … Continue reading

Posted in Computer, Database, Murmuring, PostgreSQL, Software|Tagged , , , , , , , , , , , , , , , , |Leave a comment

Heimdall Data:自動 Cache RDBMS 資料增加效能

看到 AWS 的「Automating SQL Caching for Amazon ElastiCache and Amazon RDS」這篇裡面介紹了 Heimdall Data – SQL caching and performance optimization 這個產品。 從官網的介紹也可以看出來是另外疊一層 proxy,但自動幫你處理 cache invalidation 的問題: But what makes Heimdall Data unique in industry is its auto-cache AND auto-invalidation capability. Our … Continue reading

Posted in AWS, Cloud, Computer, Database, MariaDB, Murmuring, MySQL, Network, PostgreSQL, Service, Software|Tagged , , , , , , , , , , , , , , , , |Leave a comment

對於按讚數排名的方法

前幾天看到一篇 2009 年的老文章,在討論使用者透過「喜歡」以及「不喜歡」投票後,要怎麼排名的方法:「How Not To Sort By Average Rating」。 基本的概念是當使用者投票數愈多時就會愈準確,透過統計方法可以算一個信賴區間,再用區間的下限來排... 但沒想到公式「看起來」這麼複雜 XDDD Score = Lower bound of Wilson score confidence interval for a Bernoulli parameter 但實際的運算其實沒那麼複雜,像是 Ruby 的程式碼可以看出大多都是系統內的運算就可以算出來。其中的 z 在大多數的情況下是常數。 require 'statistics2' def ci_lower_bound(pos, n, confidence) if n == 0 … Continue reading

Posted in Computer, Murmuring, Programming|Tagged , , , , , , , , , , , , , , , |Leave a comment

AWS 東京區支援 Amazon Athena 了

很簡單但也很直接的消息公佈,AWS 宣佈在東京區與新加坡區支援 Amazon Athena 了:「Amazon Athena is now available in Asia Pacific (Singapore) and Asia Pacific (Tokyo)」。 這樣就不需要在美國跑完丟回日本了...

Posted in AWS, Cloud, Computer, Database, Murmuring, Network, Programming, Service, Software|Tagged , , , , , , , |Leave a comment

MySQL 總算要拔掉 mysql_query_cache 了

半官方的 MySQL blog 上宣佈了拔掉 mysql_query_cache 的計畫:「MySQL 8.0: Retiring Support for the Query Cache」。 作者開頭引用了 ProxySQL 的人對 MySQL Query Cache 的說明: Although MySQL Query Cache was meant to improve performance, it has serious scalability issues and it can easily become a … Continue reading

Posted in Computer, Database, Murmuring, MySQL, Network, Software|Tagged , , , , , , , , , , , , , , , , , , |Leave a comment

CockroachDB 1.0

CockroachDB 推出 1.0 版:「CockroachDB 1.0 is Production-Ready」。CockroachDB 是希望在分散式環境裡打造出有 ACID 特性的服務,這點類似於 Google 的 Spanner 架構。 整個系統主要是用 Go 寫成,支援 PostgreSQL 協定,這讓許多現成的應用可以接上去: Use existing PostgreSQL client drivers or supported ORMs. 而另外一邊有支援 MySQL 協定的 TiDB (剛好也是用 Go 寫的),整個 NewSQL 領域東西愈來愈多了...

Posted in Computer, Database, Murmuring, Network, PostgreSQL, Software|Tagged , , , , , , , , , , , |Leave a comment

SQL 的各種 JOIN

SQL 的各種 JOIN 其實是個很好玩的主題,不是很難,但沒有仔細練習過一次通常只能答出常用的那幾種... 而且過一陣子又會忘記 XD 這幾天不知道哪邊看到的舊文章「Say NO to Venn Diagrams When Explaining JOINs」,這篇作者大聲疾呼不要用 Venn diagram 解釋 SQL 的 JOIN,把比較特別的 JOIN 拿出來舉例... 因為 Venn diagram 是講集合交聯集這類的操作,但 JOIN 不僅僅是如此... 舉例來說,CROSS JOIN 對應到 cartesian product 就沒辦法用 Venn diagram 簡單的表示出來,而必須畫的更「具體」:

Posted in Computer, Database, Murmuring, Programming, Software|Tagged , , , , , , , , , |Leave a comment

Google 的 Cloud Spanner

Google 把 Cloud Spanner 這個服務拿出來賣了:「Introducing Cloud Spanner: a global database service for mission-critical applications」,以及說明的「Inside Cloud Spanner and the CAP Theorem」。 Cloud Spanner 的規劃上是希望有 RDBMS 的能力 (像是 ACID 特性),又有強大的擴充能力 (scalability) 與可用性 (availability): Today, we’re excited to announce the public beta for … Continue reading

Posted in Cloud, Computer, Database, Murmuring, Network, Software|Tagged , , , , , , , , , , , , , , , , , , , |Leave a comment