Más contenido relacionado
Similar a Redis vs postgre sql (15)
Redis vs postgre sql
- 8. STAGE :俺のノート PC
Lets'Note CF-SX2(SSD)
CentOS 6.3 on VMWare
測定アプリ:自作 C アプリ
hiredis AP vs libpq AP
Redis の
C-liibrary
PostgreSQL の
C-liibrary
- 11. PostgreSQL : INSERT でデータ投入
INSERT INTO TEST VALUES ('k_NNNNN', 'v_NNNNN');
Redis : SET でデータ投入
SET k_NNNNN v_NNNNN
- 12. 結果
100 万件 SET 処理時間 (ms)
PostgreSQL( 通常テーブル )
61879
PostgreSQL(UNLOGGED)
60087
Redis
32827
0
10000
20000
30000
40000
50000
60000
70000
やはり Redis はえーな
でも、 PostgreSQL も結構健闘している( INDEX 込みだし)
UNLOGGED の効果は思ったほどでもない・・・
- 16. PostgreSQL : SELECT で取得
SELECT value FROM test WHERE key = 'k_NNNNN';
Redis : GET でデータ取得
GET k_NNNNN
- 17. 結果
100 万件 GET 処理時間 (ms)
PostgreSQL(Prepare あり )
51776
PostgreSQL(Prepare なし )
123998
Redis
31776
0
20000
40000
60000
80000
100000
120000
140000
やはり Redis はえーな(二回目)
SELECT が思ったよりも遅いか・・・
まあ Prepared にすれば結構改善したか。
- 21. ついでに redis_fdw 経由での
検索性能も測定してみたが
とてつもなく遅い!
( FDW 内で pushdown してるのに)
test=# EXPLAIN ANALYZE SELECT key, value FROM test WHERE key = 'k_000009';
QUERY PLAN
-------------------------------------------------------------------------------------------------------------------Index Scan using test_key_idx on test (cost=0.42..8.44 rows=1 width=18) (actual time=0.018..0.019 rows=1 loops=1)
Index Cond: (key = 'k_000009'::text)
Total runtime: 0.035 ms
(3 rows)
test=# EXPLAIN ANALYZE SELECT key, value FROM test_fdw WHERE key = 'k_000009';
QUERY PLAN
------------------------------------------------------------------------------------------------------Foreign Scan on test_fdw (cost=0.00..0.00 rows=0 width=64) (actual time=0.161..0.162 rows=1 loops=1)
Filter: (key = 'k_000009'::text)
Foreign Redis Database Size: 1000000
Total runtime: 117.257 ms
(4 rows)
1+1 は 2 じゃねえ! 200 だ! 10 倍だぞ 10 倍!
(検索性能が)