Veritabanımda zaten birkaç milyon satır var. Şemamı tasarlarken PostgreSQL UUID veri türünü bilmiyordum.
Tablolardan birinde, günde yaklaşık 500 bin kayıtla büyüyen 16 milyon satır (parça başına yaklaşık 3,5 milyon ila 4 milyon kayıt) bulunur. Gerektiğinde hala üretim sistemini birkaç saatliğine indirme lüksüne sahibim. Bir ya da iki hafta içinde bu lüksüm olmayacak.
Benim sorum şu, buna değecek mi? JOIN performansını merak ediyorum, disk alanı kullanımı (tam gzip'd dökümü 1.25 GiB), o tür şeyler.
Tablo şeması:
# \d twitter_interactions
Table "public.twitter_interactions"
Column | Type | Modifiers
-------------------------+-----------------------------+-----------
interaction_id | character(36) | not null
status_text | character varying(1024) | not null
screen_name | character varying(40) | not null
twitter_user_id | bigint |
replying_to_screen_name | character varying(40) |
source | character varying(240) | not null
tweet_id | bigint | not null
created_at | timestamp without time zone | not null
Indexes:
"twitter_interactions_pkey" PRIMARY KEY, btree (interaction_id)
"twitter_interactions_tweet_id_key" UNIQUE, btree (tweet_id)
"index_twitter_interactions_on_created_at" btree (created_at)
"index_twitter_interactions_on_screen_name" btree (screen_name)
Triggers:
insert_twitter_interactions_trigger BEFORE INSERT ON twitter_interactions FOR EACH ROW EXECUTE PROCEDURE twitter_interactions_insert_trigger()
Number of child tables: 9 (Use \d+ to list them.)