pg_bigmで全文検索するときに気を付けたい5つのポイント (第23回PostgreSQLアンカンファレンス@オンライン 発表資料) 2021年5月11日 株式会社NTTデータ 技術開発本部 先進コンピューティング技術センタ 藤井 雅雄Read less
![pg_bigmで全文検索するときに気を付けたい5つのポイント(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)](https://cdn-ak-scissors.b.st-hatena.com/image/square/7f149dd3596fd0302977649a89dad77a7b5275e4/height=288;version=1;width=512/https%3A%2F%2Fcdn.slidesharecdn.com%2Fss_thumbnails%2Fpostgresqlpgbigmpgunconf23nttdata-210709092532-thumbnail.jpg%3Fwidth%3D640%26height%3D640%26fit%3Dbounds)
関連記事など MySQLCasualのSlackはこちら http://mysql-casual-slackin.herokuapp.com/ PostgreSQLのSlackはこちらhttps://postgresql-hackers-jp.herokuapp.com/ 事前申し込み doorkeeper 主催 日本MySQLユーザ会 (MyNA) 日本PostgreSQLユーザ会(JPUG) 開催場所 東京都港区赤坂9-7-1 ミッドタウン・タワー ヤフー株式会社 11Fセミナールーム 会場の最寄り駅は次のとおりです。 東京メトロ日比谷線 他 六本木駅 [直線距離:240m] 東京メトロ千代田線 乃木坂駅 [直線距離:460m] 東京メトロ南北線 六本木一丁目駅 [直線距離:700m] 受付について ミッドタウン・タワー正面入口から1Fのメインロビーに入り、総合受付に向かっ
OSSデータベース取り取り時報 第7回MySQLとPostgreSQLのユーザーグループ合同セミナー2件開催、PostgreSQL 9.5.1リリース、Apache Cassandra 3.3 リリース 2016年2月にはMySQLとPostgreSQLのユーザーグループが合同で、全文機能関連のセミナーと最新バージョン関連のセミナーの2件が開催されました。MySQLは2016年2月5日にMySQL 5.7のマイナー・バージョンアップによってセキュリティ関連の仕様変更と機能追加が行われました。また分散型クラスタのMySQL Clusterは次期バージョンMySQL Cluster 7.5の最初の開発途上版(DMR)がリリースされました。 PostgreSQLは2016年2月11日にマイナー・バージョンアップが行われ、最新版9.5.1がリリースされました。 Apache Cassandraのチ
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
第32回 PostgreSQL 勉強会(2015年10月10日)で登壇してきました。 内容は前に書いたエントリーの MySQL使いが知るべきPostgreSQLとの違いと変わらない一つのこと MySQL使いの人がPostgreSQLを始めるときの罠をまとめてみた を元に発表してきました。 と言っても今回は参加者がPostgresSQLに詳しい前提だったのでMySQLを中心に話をしました。 実際の資料は下記のとおりです。 当日はビデオ撮影があったのでそのうち動画が上がると思います。 第32回 PostgreSQL 勉強会まとめ ~ togetter ~ 流石に2時間は疲れました。 内容としては眠くならないように面白おかしく伝えようと思ったのですがなかなか難しかったです。 前半はMySQLとPostgreSQLの方向性の違いをメインにしました。 後半はMySQLは僕が実際にハマった事などをメイ
— そーだい@初代ALF (@soudai1025) 2015, 8月 24 とブーメラン投げて見事に刺さってるので今から記事書く。 両サイドにはかなり厳しい話もするが俺の本音を聴いておけ(関白宣言) まぁ歴史の長いRDBなのでお互いの比較記事は沢山ある。 なのでマルチスレッド(MySQL)とマルチプロセス(PostgreSQL)だとかVACUUMだって話はしない。 むしろ実際に使ってみた際の違いをにフォーカスする。 1. SQLの違い 基本的にMySQLでやっていたことはPostgreSQL出来る。 しかし関数の挙動の違いは幾つかある。 例えば時間から曜日に該当する数字に変換した場合に MySQL → date_format(time,"%w") 0から始まり、日曜日に該当する PostgreSQL → to_char(time,'D') 1から始まり、日曜日に該当する など挙動に互換性
事前情報 m3.xlargeインスタンス 15GB メモリ 13 ECU = 3.25ECU(2.6GHz) * 仮想4コア DBサイズ 3.38 GB 設定値 max_connections = 100 shared_buffers = 3GB # 実メモリの20% # ここらへんのはとりあえずこのくらいで。小さすぎる分にはlog_temp_filesの設定で書き出されるので後で気づいて調整できる。 temp_buffers = 32MB work_mem = 32MB maintenance_work_mem = 128MB wal_buffers = 16MB # 迷いどころもなく16MB checkpoint_segments = 16 # HDへのフラッシュ回数を減らす effective_cache_size = 7GB # planerのため。実メモリの半分ぐらいがいいらしい
https://mariadb.com/kb/en/optimizer-switch/にあるように、MariaDBのオプティマイザはかなり改良されている。 では、MariaDBのオプティマイザ/エクゼキュータはどの程度優秀か、4つのSELECT文の実行を通してMySQLと(ついでにPostgreSQLと)比較してみる。 (2014.12.3追記:オプティマイザについては省略してますが、こんな本がでます。) 結論を先にいえば「MySQLは検索が速い」というのは都市伝説。MariaDBはがんばってるけどPostgreSQLにはまだまだ及ばず。 *念のため。これはベンチマークじゃないよ、オプティマイザ/エクゼキュータの機能比較です。 自分で再確認したい場合はこちらにスクリプト群と実験のやり方を簡単に書いたので参照のこと。 調査環境 同一マシンにMySQL5.6.14、MariaDB10.0.4、
PostgreSQL 9.3正式版が公開。1秒以下の高速フェイルオーバー、データチェックサムによる高信頼性、マテリアライズドビューなどの新機能 「What's new in PostgreSQL 9.3」のページに並んだ項目から、主な新機能を抜き出してみました。 バルクロードの高速化のためのCOPY FREEZE カスタムバックグラウンドワーカー データチェックサム JSON機能の拡張 ラテラルジョイン イベントトリガー マテリアライズドビュー アップデータブルビュー 書き込み可能な外部テーブル 高速フェイルオーバー 過去のバージョンとの基本的な互換性は維持されています。 1秒以内でレプリカがマスターに昇格 高速フェイルオーバー機能では、レプリカデータベースがマスターへ昇格するのに1秒以内になるとのこと。 データチェックサムはページごとにデータのチェックサムを確認し、ストレージの障害などに
サーバが重いということは、負荷(load average)が高いということです。 topコマンドを叩いてDBサーバの負荷を調べます。 $ top top - 01:36:45 up 340 days, 20:16, 4 users, load average: 0.01, 0.04, 0.00 Tasks: 85 total, 1 running, 84 sleeping, 0 stopped, 0 zombie Cpu(s): 0.8%us, 0.2%sy, 0.0%ni, 97.7%id, 1.2%wa, 0.0%hi, 0.2%si, 0.0%st Mem: 4044720k total, 3996008k used, 48712k free, 60648k buffers Swap: 2152700k total, 252k used, 2152448k free, 3826572
また、CREATE FUNCTION 文でユーザ定義のWindow関数を追加することもできますが、バージョン 8.4 ではC言語で関数を記述する必要があります。SQLやPL/pgSQLは使えないので、敷居は高いかもしれません。 例 典型的なWindow関数の使い方を挙げます。この他にも、これまで複雑なSQLが必要だったさまざまなケースを効率化できる可能性がありますので、SQLパズルだと思って試してみてください。。 連番付与 連番付与を行います。ソートした後、番号をふるのがポイントです。 SELECT row_number() OVER (), * FROM (SELECT * FROM tbl ORDER BY sortkey) AS t; ただし、結果の最大行数を指定するには、row_number との値の比較ではなく、これまでどおり LIMIT 句を使ってください。row_number
PostgreSQL RPM Repository (with Yum) からRPMファイルをダウンロードして、本家のリポジトリを追加 http://yum.postgresql.org/repopackages.php $ wget -P /tmp http://yum.postgresql.org/9.2/redhat/rhel-6-x86_64/pgdg-centos92-9.2-5.noarch.rpm $ sudo rpm -ivh /tmp/pgdg-centos92-9.2-5.noarch.rpm PostgreSQL9.2をインストール $ sudo yum install -y postgresql92-server postgresql92-devel postgresql92-contrib データベースを初期化 $ sudo /etc/rc.d/init.d/po
PostgreSQLで時刻を扱うとき、PHPのdate()で出力しやすいようにUNIXTIME(int型)で保存しています。SQL内での扱いが逆に面倒になるのですが、UNIXTIMEからtimestamp型に戻すTIPS。 create table test ( accesstime integer not null ); select to_char('1970-01-01'::date + (accesstime || 's')::interval, 'YYYY-MM') from test;直接intからintervalに変更できないので(ERROR: cannot cast type integer to intervalが出る)secondsのsを文字列としてつなげてやるとうまくCASTできます。to_charはmktimeみたいな具合に書けます。 月の一覧を出すときはPHPで書
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く