在osc16tk会议上,对比了Oracle和PostgreSQL
我参加了11月5日的 2016年东京秋季开源会议,并主要听了关于PostgreSQL的演讲。这次会议的总标签是 #osc16tk。
让我们尝试使用庆祝20周年的PostgreSQL吧。
日本 PostgreSQL 用户集合(JPUG)的中国分部负责人,曾根壮大先生。
Speaker Deck的幻灯片
收集实况推文
-
- データ分析やるならPythonでしょ。で、PythonとPostgreSQLはPL/Pythonあって使いやすい。例えばPythonの機械学習LibraryをPL/Pythonから呼べる。パラレルクエリもある。
-
- Pythonでストアド書いてSQLで関数呼ぶだけでデータ分析
-
- バックアップ・可用性でもPostgreSQLはOracleに追いついたんじゃない?
-
- PostgreSQLと商用DBの違い。RDBの基本的な部分ではだいたい追いついた。パラレルクエリ、SQL構文、バックアップや冗長化、全文検索などの拡張
-
- パラレルクエリに対応したのは大きい。コアを増やすと性能が上がるようになった
-
- 弱いのは監査ログ、Windows系のGUI操作、DWHの列指向INDEX、自動更新マテリアルビュー
-
- 負けている部分。GUI上での操作、運用系や監査系の機能、列志向INDEXや自動更新マテビューのようなDWHの機能
-
- PostgreSQLのよいところ。ライセンスの自由度、JSONB型などの豊富な型、拡張性の高さ、WAFとの相性の良さ
-
- OSSDBはすみわけが進んできた。MySQL(Web系)、SQLite(組み込み)、Firebird
-
- OracleからPostgreSQLへの移行。SE1からはだいたいいける。ストアド使ってる、自動更新マテビューを使ってないならいける。PGEConfに資料アリ。EEから移行するならアシストさんとかSRAさんに聞いてみよう
-
- MySQL→PostgreSQLはだいたいいける。
-
- PostgreSQL→MySQLはきつい
- 商用DBの高いやつは難しい
从Oracle迁移到PostgreSQL
-
- Software Design 2016-10月号の特集記事
- Oracle Standard Edition からなら移行可能だろう
由于我刚刚在SD杂志上撰写了专题文章,所以我也提及了这个主题。
PostgreSQL的不足之处
-
- GUI上での操作
-
- 運用系機能
-
- 監査系の機能
-
- 列指向INDEX
- 自動更新マテリアライズド・ビュー
以下是「PostgreSQL活用的三个有用精选文档的介绍」。
(株)アシスト的竹内尚也先生
在PGECons(PostgreSQL企业联盟)的成果文件中,以PostgreSQL支持工程师的角度来看,有很高的实用性。
-
- 《異種DBMS转移到PostgreSQL的迁移指南2013 WG2》
包含了迁移时所需的数据类型知识,并且具有高度完整性。
《PostgreSQL安全指南》
详细描述了当标准功能无法满足安全要求时的替代措施。例如,可以使用扩展功能pgaudit。我们还进行了安全要求下的性能验证。
《2013年WG3活动报告书-为了持续构建PostgreSQL系统》
即使现代有类似AWS RDS这样的托管服务可以使用,作为一个管理PostgreSQL服务器的人,我觉得还是应该阅读一下这篇文章。
“Oracle也不错”
我总结了一下,PostgreSQL的弱点,以及Oracle的一些强项,主要为了做个备忘录。
应用该系统
Flashback Technology (EE)
ヒューマンエラーでDB壊してしまったときなどのフォールバックの機能
Point-In-Time Recovery がシングル・コマンドで所要時間数分
「シングル・コマンド」になっているのが強い
RAC One Node (EE+RAC One)
Real Application Cluster を組むほどの予算はないが高可用性は欲しい
Oracleライセンスは1つで、Active – Standby をRAC技術を応用して実現
共有ディスク・アーキテクチャの ASMが前提
ASM Automatic Storage Management (SE,EE)
共有ディスク・アーキテクチャ
統合クラスタ・ファイル・システム+ボリューム・マネージャ
リバランシング機能
自己修復機能を備えた自動ミラー再構築
RMAN Recovery Manager (SE,EE)
高速増分バックアップ
パラレルバックアップ
Data Pump (SE,EE)
高速export/import
並列処理でさらに高速化。9-13倍速
自動メモリ管理 (SE,EE)
リリース11gから、インスタンスで使用される合計メモリー・サイズを指定するだけで、Oracle Databaseが必要に応じてSGAとインスタンスPGAの間でメモリーを動的に交換し、処理ニーズに対応します。
安全
-
- 透過的データ暗号化 (EE+ASO)
表領域単位
アプリケーション変更不要
CPU命令セットAES-NI使うと性能劣化ほとんどなし
审计系统
Unified Auditing (SE,EE)
必要なすべての監査設定を定義する統合監査ポリシー
ファイングレイン監査:特定の条件を定義して、内容に基づいてデータ・アクセスを監視
以下是对DWH系的本地化转述:
DWH系列
ロー型フォーマットとカラム型フォーマットの両立を実現 (EE+IM)
OLTP処理を得意とするロー型
集計や分析処理などのクエリー処理が高速になるカラム型
Oracle Database In-Memoryは、ロー型とカラム型の2つのフォーマットを同時にメモリー上にロードして利用
自動更新マテリアライズド・ビュー (SE,EE)
効率が悪い結合および集計操作を事前に計算し、その結果をデータベース内の表に格納しておく
すべてのマテリアライズド・ビューに最新データが確実に含まれるようにするリフレッシュ機能
マテリアライズド・ビューを高速リフレッシュ可能にする方法
如果将我认为不错的功能全部加入,Enterprise Edition就变得功能齐全,配备了各种选项,而正版许可的价格大约为8核心的5000万日元左右。