Cześć
Chciałem kontynuować temat tutaj: Wolny Npgsql ale będzie on teraz bardziej dotyczył samych baz danych.
Sprawa wygląda tak, iż posiadam dostęp do danych historycznych giełdowych(amerykańskich) które sam analizuje. Robiłem to wcześniej za pomocą paru skryptów napisanych PHP/PERL. Problem się pojawił wraz ze wzrostem ilość danych(dlatego tez ruszyłem z nauką C#). Aktualnie SELECT`uje tabele o ilość rekordów wynoszących do 5mln. Tabela jest umieszczona w PostgreSQL ponieważ obsługuje milisekundy. Niektóre SELECTy dość długo trwają, szczególnie te w których przeszukuje według zasięgu czasu. Danych będzie mi przybywać dlatego chce przejść na TSDS.
Tabela ma taką strukturę:
symbol text NOT NULL, // symbol spolki
czas timestamp without time zone NOT NULL, // czas w którym zaszła transakcja
ilosc integer NOT NULL, // ilość akcji
cena double precision NOT NULL, // po jakiej cenie
kod1 "char" NOT NULL, //
kod2 "char" NOT NULL, //
kod3 integer NOT NULL, //
Na wikipedii(http://en.wikipedia.org/wiki/Time_series_database) znalazłem listę takich baz:
*Apache Cassandra
*CouchDB
*Couchbase
*Eventual Consistency
*HBase (Hadoop)
*MongoDB
*Neo4j
*RavenDB
*Riak
*Redis
I tu pytanie do was o opinie co do tych baz oraz jak się ma sama składnia SQL w takich bazach(np czy istnieje DISTINCT, COUNT i inne dość często wykorzystane funkcje w RMBSach) ?
A może jakiś inny pomysł ?
Dzięki i pozdrawiam
dawid