Tag Archives: query

Amazon Athena:直接在 S3 上進行分析

Amazon Athena 提供另外一種選擇,讓分析的便利性增加了許多:「Amazon Athena – Interactive SQL Queries for Data in Amazon S3」。 以往都需要開 server 起來分析,這個新的服務直接使用就好: Athena is based on the Presto distributed SQL engine and can query data in many different formats including JSON, CSV, log files, text with … Continue reading

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

關閉 MySQL 的 Query Cache

MySQL 的 Query Cache 是目前已知效能不好的主要因素之一 (global mutex lock 的緣故),在正式環境裡的 best practice 一般都是關閉,之前測過也是一開下去效能就會狂掉... 而 Percona 的人在討論要怎麼樣才能完全關閉 MySQL 的 Query Cache:「Is Your Query Cache Really Disabled?」,而他們發現只有在 query_cache_type 與 query_cache_size 都設為 0,而且重開 MySQL 才能完全避免 global mutex lock: [W]e can see it is not … Continue reading

Posted in Computer, Database, Murmuring, MySQL, Software | Tagged , , , , , , , , , | 1 Comment

Route53 也支援 IPv6 了...

Amazon Route 53 也宣佈支援 IPv6 了:「Amazon Route 53 Now Supports DNS Queries over IPv6 Networks」。 依照說明應該是無痛切換過去: The change is seamless and requires no action from you; your end users and clients can begin making DNS queries over IPv6 immediately. 不過測了 … Continue reading

Posted in AWS, Cloud, Computer, DNS, Murmuring, Network | Tagged , , , , , , , | Leave a comment

MySQL 8.0 的 performance_schema 加上 index 了...

MySQL 8.0 是 MySQL 5.7 的後續版本,中間的 6.0 與 7.0 都有一些故事,就被跳過去了,跟 PHP 的情況有點像。 在 8.0 版將會把 performance_schamea 加上 index,讓查詢的速度變快:「MySQL 8.0: Performance Schema, now with indexes!」: In MySQL 8.0, performance_schema tables are now indexed to speed up data retrieval. A total of … Continue reading

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

CloudFront 支援將 Query String 內的特定 Key/Value 當作 Cache Key 的一部分

Amazon CloudFront 可以指定 query string 中的某個特定的 key/value 當做 cache key 的一部分了:「Announcing Query String Whitelisting for Amazon CloudFront」,對應的文件在「Configuring CloudFront to Cache Based on Query String Parameters」這邊可以查到。 先前只能針對選擇忽略掉整個 query string,或是把整個 query string 當作 cache key 的一部分,現在可以細部調整了。 最簡單的應用可以用在 css/js 的 asset 上,針對 v=\d+ … Continue reading

Posted in AWS, CDN, Cloud, Computer, Murmuring, Network, WWW | Tagged , , , , , , , , , , , , , , | Leave a comment

MySQL 5.7 的 Rewrite Query Plugin

在「What to do with optimizer hints after an upgrade?」這邊介紹了 MySQL 5.7 引入的 Rewrite Query Plugin,看起來有很多可以拿來變化的? 作者提到的用法是當 minor version 升級後 (譬如 5.6 升到 5.7),由於 optimizer 愈來愈聰明,hint 應該都要重新確認是否還需要指定 (像是 USING INDEX),避免效能反而變差。 但這個前提是你能夠改到程式碼,如果你改不到程式碼就只能祈禱效能不會變差。 而 MySQL 5.7 提供的 Rewrite Query Plugin 則可以改寫 SQL query,像是 … Continue reading

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

Relational Database System (RDBMS) 運作的方式

在「How does a relational database work」這篇文章用了很長的篇幅講「資料庫如何把 SQL query 轉換為實際的操作」: I’ll focus on what I think is essential: the way a database handles an SQL query. 資料庫也是人寫出來的,資料結構與演算法也是人設計出來的。你現在手上有資料,要怎麼把 SQL query 變成有效率的查詢操作行為,就是這篇文章在描述的。 看起來連 JOIN 的機制也講了不少...

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

Percona 對 mysql_query_cache 的測試 (以 Magento 為例)

Percona 的人以現在的觀點來看 mysql_query_cache:「The MySQL query cache: Worst enemy or best friend?」。 起因主要也是懷疑 query cache 是 global mutex 在現在的硬體架構 (主要是 CPU 數量成長) 應該是個負面的影響,但不確定影響多少: The query cache is well known for its contentions: a global mutex has to be acquired for any … Continue reading

Posted in Computer, Database, Hardware, Murmuring, MySQL, Software | Tagged , , , , , , , , , , , , , , | 2 Comments

HTTP/1.1 時代的 Best Practice 變成 HTTP/2 的問題

Velocity 2015 上的「HTTP/2 is here, let's optimize!」提到了很多關於 HTTP/1.1 時代所採用的 Best Practice (或者說,workaround) 變成了 HTTP/2 的問題。 這張表整理了各種技巧在 HTTP/1.1 與 HTTP/2 的差異: 在 HTTP/2 因為有了 multiplexing 機制,用了 Apply domain sharding 後反而增加 DNS query 以及開新的連線所需要的 handshake 時間。 而 Concatenate resources 也算是 workaround 的一種,不同等級的合併會有不同的 … Continue reading

Posted in Computer, Murmuring, Network, WWW | Tagged , , , , , , , , , , , , , | Leave a comment

PostgreSQL 9.5 的 GROUPING SETS 以及 CUBE 與 ROLLUP

在 Zite 上看到的「Postgres finally has CUBE / ROLLUP / GROUPING SETS !」。 直接看 PostgreSQL 的文件「7.2.4. GROUPING SETS, CUBE, and ROLLUP」就可以知道用法: => SELECT * FROM items_sold; brand | size | sales -------+------+------- Foo | L | 10 Foo | M | … Continue reading

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