Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Szybka baza danych Linux (MongoDB?)

44 views
Skip to first unread message

Borneq

unread,
Jul 30, 2020, 7:43:59 AM7/30/20
to
Jak załadować 1TB danych do bazy? pamięć w kompie to 24 GiB.
Jeśli chodzi o MySQL to myślę, że pierwsze kilkanaście gigabajtów
poszłoby szybko bo było by w pamięci, potem wszystko musiało by być na
HDD. Jakiej bazy najlepiej użyć?

al...@interia.pl

unread,
Jul 30, 2020, 4:05:02 PM7/30/20
to
co to ma za znaczenie?
Załadujesz w czasie kilku sekund tak czy siak.

przepust dysku: 100MB/s, czyli 1TB idzie w 10 s;
na SSD w okolicach 2s;
ram: zasuwa minimum z 4GB/s... 1/4 s.

Adam

unread,
Jul 30, 2020, 4:16:44 PM7/30/20
to
W dniu 2020-07-30 o 22:05, al...@interia.pl pisze:
Nie wiem, jak w innych bazach, ale w mssql duże znaczenie ma rodzaj
danych, klucze oraz indeksy i ich rodzaje, pola unikalne, triggery,
czasem włączenie/wyłączenie filestream.


--
Pozdrawiam.

Adam

al...@interia.pl

unread,
Jul 30, 2020, 4:44:26 PM7/30/20
to
wszelkie obliczenia są robione w pamięci ram, a nie po dyskach - mikrosekundy!

transfer ma tu jedynie znaczenie (najwolniejszy segment),
np. przez zdalną sieć byłoby 100 razy wolniej, niż w lokalnej...
zwłaszcza w Polsce, bo tu mamy szybkość internetu z 10MG/s - góra.

Adam

unread,
Jul 30, 2020, 5:15:22 PM7/30/20
to
W dniu 2020-07-30 o 22:44, al...@interia.pl pisze:
Nie wiem, czy dobrze się rozumiemy.

Twój pierwszy post zrozumiałem jako: "jak napompować bazę danymi o
pojemności 1TB", czyli jak zrobić UPDATE.
Ale piszesz też o obliczeniach - nie wiem, o co Ci chodzi.

W zasadzie mogę przygotować i podesłać Ci dwa skrypty zasilające bazę
mssql, a czas ich działania (i zasilenia bazy danych) będzie radykalnie
różny dla tych samych danych.


--
Pozdrawiam.

Adam

al...@interia.pl

unread,
Jul 30, 2020, 5:24:33 PM7/30/20
to
Przecież to nie jest mój temat - ja tylko podałem sugestię dla autora...

Zakładam że w sql generalnie istnieje dyrektywa pozwalająca
na wyłączenie kontroli - transakcji, itp. podczas tworzenia/wpisywania całej bazy!

Jeśli tam takiej opcji nie ma, no to wtedy pakowanie miliona rekordów
do bazy - w trybie transakcji!, zajmie... kilka godzin prawdopodobnie,
niezależnie od sprzętu.

Andrzej Stróżyński

unread,
Jul 31, 2020, 2:11:16 AM7/31/20
to
W dniu 2020-07-30 o 22:05, al...@interia.pl pisze:
> W dniu czwartek, 30 lipca 2020 13:43:59 UTC+2 użytkownik Borneq napisał:
>> Jak załadować 1TB danych do bazy? pamięć w kompie to 24 GiB.
>> Jeśli chodzi o MySQL to myślę, że pierwsze kilkanaście gigabajtów
>> poszłoby szybko bo było by w pamięci, potem wszystko musiało by być na
>> HDD. Jakiej bazy najlepiej użyć?
>
> co to ma za znaczenie?
> Załadujesz w czasie kilku sekund tak czy siak.
>
> przepust dysku: 100MB/s, czyli 1TB idzie w 10 s;

To 1GB w ile sekund??? :-)


--
pozdrawiam
AS

Borneq

unread,
Jul 31, 2020, 4:50:56 AM7/31/20
to
On 7/30/20 10:05 PM, al...@interia.pl wrote:
> co to ma za znaczenie?
> Załadujesz w czasie kilku sekund tak czy siak.
>
> przepust dysku: 100MB/s, czyli 1TB idzie w 10 s;
> na SSD w okolicach 2s;
> ram: zasuwa minimum z 4GB/s... 1/4 s.
>

Nie 1 GB ale 1 TB
po drugie, tak szybko , z prędkością dysku, to działa odczyt danych, ale
juz pakowanie do bazy nie. Gdyby insert działał kilka dni to było by
jeszcze w porządku, obawiam się kilku miesięcy.
Na razie chcę przetestować bazę ArangoDB

al...@interia.pl

unread,
Aug 1, 2020, 7:36:37 AM8/1/20
to
obawiam się że takie coś przejdzie jedynie w 'memory db' w sensownym czasie,
co finalnie można zapisać na dysk.
https://en.wikipedia.org/wiki/List_of_in-memory_databases

M.M.

unread,
Aug 4, 2020, 1:35:13 PM8/4/20
to
Powiadacie że jeden terabait i że jeden terabait...

U mnie na podręcznym komputerze na zewnętrznym dysku SSD (usb 3.x):

[
time dd if=/dev/zero of=/tmp/test1.img bs=1G count=1 oflag=dsync
1+0 przeczytanych rekordów
1+0 zapisanych rekordów
1073741824 bytes (1,1 GB, 1,0 GiB) copied, 25,3014 s, 42,4 MB/s

real 0m25,387s
user 0m0,001s
sys 0m1,798s
]

25.3014*1024/3600 = 7.20h

Przy zapisie ciągłym można w praktyce dysk 1TB zapisać w kilka godzin.

Gdy masz RAID, to praca na pełnej szybkości sata3
[
https://pl.wikipedia.org/wiki/Serial_ATA#SATA_III_(6_Gbit/s)
]

umożliwia nawet zapisanie całego dysku w trochę ponad pół godziny.


Ale.... jak dojdzie podwójny zapis przez dziennik, jak sync będzie
robiony co parę kilo danych, jak będzie włączone szyfrowanie/kompresja
dysku, albo jak będzie trzeba odczytać jakieś dane aby zapisać poprawnie następne - to współczuję.


Z baz RAM kiedyś miałem (niewielką) styczność z REDIS i już wtedy
wydawał się dobry, szybki i przyjemny. Teraz, po bardzo pobieżnym
przejrzeniu dokumentacji, wydaje się że go jeszcze rozbudowali.

Pozdrawiam












al...@interia.pl

unread,
Aug 4, 2020, 6:13:26 PM8/4/20
to
majaczysz coś.. po omacku.

geos

unread,
Aug 5, 2020, 4:21:01 AM8/5/20
to
zakładam, że chodzi o ładowanie z jakichś plików.

sprawdź w dokumentacji, czy mysql obsługuje direct load path.

pozdrawiam
geos

geos

unread,
Aug 5, 2020, 4:22:37 AM8/5/20
to
pomyłka, chodziło mi o mongodb, nie o mysql.

pozdrawiam
geos

Marius O

unread,
Nov 26, 2020, 12:38:25 PM11/26/20
to
Hej, rozwazyl bym postgres i metode Copy from, (przy zalozeniu ze uzywasz jakiegos flat file)

https://www.postgresql.org/docs/10/sql-copy.html


0 new messages