質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

パフォーマンス

コード効率の向上や計算に関する質問には、このタグを使ってください。

Q&A

解決済

1回答

4306閲覧

PostgreSQL大規模テーブルの対策について

abcqwerty

総合スコア1

PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

パフォーマンス

コード効率の向上や計算に関する質問には、このタグを使ってください。

0グッド

0クリップ

投稿2021/07/06 01:20

編集2021/07/09 15:31

PostgreSQLを使用したシステムのDB設計を担当しています。

1年辺り2億件ぐらいのレコードが作成される想定のテーブルがあり、このテーブルについて懸念事項と対策について調べて欲しいと言われ、困っています。

自力で調べてはみたものの、あまりまとまらず…

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2021/07/06 01:29

過去質問で見たような。 何をどう調べたのか、そのあたり提示されたほうが良いです。既に見たような先が回答して提示されると二度手間になります
sazi

2021/07/06 01:41 編集

2億件扱うなら結構な規模のシステムですよね。 > システムのDB設計を担当しています。DBの知識はあまりありません。(基本情報レベル) それでこの状況で質問されるというのは、周りにDB設計に長けた人がいないという事ですよね。 デスマーチの匂いがしますから、出来ない事は素直に言った方が良いと思います。 初心者であってもツボを押さえた質問であったならこんな事は言いません。
abcqwerty

2021/07/06 01:48

以前勤めてた会社でテーブル定義(論理・物理)、ER図を作成する事はありましたが、DBの構築・パフォーマンスその他インフラ周りについては別の部署が担当していた為そちらの知識がないという状態です…。 正直言って調べて色々情報が出てきても何の事を書いてるのか完全には理解できてないという感じで、上手くまとめられないのです…。
sazi

2021/07/06 02:00

見栄を見栄に見せない為には、裏で努力して結果を出すしかありません。 それは誰にも頼れないものです。 そもそも、質問の > 1年辺り2億件ぐらいのレコードが作成される想定のテーブルがあり(insertのみupdateなし)、このテーブルについて懸念事項はないか について、言えることは容量について位でしょう。 一度にどれくらいの件数を扱うのかとか、利用目的など、アドバイスをするにしても情報が不足していますし、そういう事を挙げられるなら自ずとポイントは分かるはずで、仮にその点についてアドバイスが得られたとしても、全てでは無いと思います。
abcqwerty

2021/07/06 02:14

とある計算データのようなものを書き出すテーブルである事、1データ辺り500byte程である事、データ保存期間が5年である事以外は私もわかってません。 まだその他の情報が降りてきてないのです…。
Orlofsky

2021/07/06 02:33

DWHで1つのテーブルだけでも3ヶ月分のデータで40億件以上、ってのを扱ったことがあります。 素人の寄せ集めでやるより、きちんとした技術者を使うのがパフォーマンスが良くて、安上がりで、寿命の長いシステムが作れます。
abcqwerty

2021/07/06 02:37

実際にDBの構築・チューニングなどをするのは私ではありません。 基本設計段階で考慮するべき事、記載するべき事はありますか?と聞かれている形です。
m.ts10806

2021/07/06 04:27

現状だと「必要な情報が不足しているのでお応えしかねます」ですねぇ。
退会済みユーザー

退会済みユーザー

2021/07/06 05:20

格納するのは問題ないけど、杜撰なテーブル構造と雑なクエリーではいつまで経っても集計できなかったりするかもよ。むしろそっちを問われているんじゃないかと思って回答できずにいた。
guest

回答1

0

ベストアンサー

1年辺り2億件ぐらいのレコードが作成される想定のテーブルがあり(insertのみupdateなし)、このテーブルについて懸念事項はないか、ある場合はその対策について調べて欲しいと言われ、困っています。

また、

とある計算データのようなものを書き出すテーブルである事、1データ辺り500byte程である事、データ保存期間が5年である事以外は私もわかってません。

とあるので、テーブルの行数は2億 * 5年分 = 10億行ですね。
そして1行あたり500 byte程度とのことなので、テーブルのサイズは500 byte * 10億行 = 500 GBですね。

PostgreSQLの公式 wikiに以下とあります。
(あるいは、公式ドキュメントを参照してもよいでしょう)

テーブルの最大サイズ? 32 TB
テーブル内での最大行数? 制限無し
テーブル内での最大カラム数? カラムの型によって 250-1600
テーブル内での最大インデックス数? 制限無し

テーブルサイズ、行数共に問題ありません。
テーブル定義が不明ですが、列についてもおそらく問題になることは無いのではないでしょうか。

PostgreSQLの観点からすると機能制限に抵触するわけではないので、上記のテーブルについて懸念事項はありません。

投稿2021/07/06 04:52

synydy

総合スコア21

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

abcqwerty

2021/07/06 05:18

丁寧にご回答頂き、ありがとうございます。 他の皆様もありがとうございました。 また未熟な質問大変失礼しました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問