Aktywne Wpisy
kwasaki_lakky +62
#2137 kozacki papiesz
artyom07 0
Czemu w Polsce jest pozwolenie na blokowanie Ukraińskich towarów i tranzytu? Gdzie w tym kraju jest policja i służby? SBU ma namiary na blokujących i oni zostaną rozliczeni za to.
Na zdjęciu ziarno wysypane przez Polaków w Ukraińskim Dorohusku. To jest w Ukrainie wielki grzech zrobić coś takiego jak wyrzucić chleb lub zboże.
Na zdjęciu ziarno wysypane przez Polaków w Ukraińskim Dorohusku. To jest w Ukrainie wielki grzech zrobić coś takiego jak wyrzucić chleb lub zboże.
Próbuję wrzucić transakcje Bitcoin do PostgreSQL. Wszystkich aktualnie jest ~622 468 868. Na początku, bez partycji wszystko wyglądało obiecująco ale po 10m rekordów, wydajność insertów mocno siadła. Jedna z kolumn TX zawiera 32 bajty które są identyfikatorem transakcji. Pomyślałem sobie, że można byłoby na podstawie pierwszego bajtu tej kolumny podzielić ją na 256 partycji - tylko nie wiem czy #postgres to umożliwia?
https://medium.com/blockwala/migrating-bitcoin-in-postgresql-database-9b931a1e5cf9
Z tym pokrywa się zwiększenie: maintenance work mem, work_mem, co już robiłem.
Inserty robię właśnie w ten sposób, że wrzucam mnw. po 1k, później będę po 2-3k. Na razie, ogólnie jest już spoko
Utworzenie tabeli:
create table tx
( id bigint
, block integer
, txid bytea
, n smallint
)
partition by list(get_byte(txid, 0));
Output SQL dla tworzonych partycji i indeksów:
do $$begin
for i in 0 .. 255 loop
raise notice '%', format('create table %s_%s partition of %1$s for values in (%3$s);', 'tx', lpad(upper(to_hex(i)), 2, '0'), i);
raise notice '%', format('alter table %s_%s
Liczę że dzięki temu rozwiązaniu nie będę musiał stale przebudowywać indeksów na tabeli liczącej > 600 mln rekordów