Używam SQL Server do przechowywania danych historycznych szeregów czasowych dla kilkuset tysięcy obiektów, obserwowanych około 100 razy dziennie. Zauważyłem, że zapytania (daj mi wszystkie wartości dla obiektu XYZ między czasem t1 a czasem t2) są zbyt wolne (dla moich potrzeb, powolność jest większa niż sekunda). Indeksuję według znacznika czasu i identyfikatora obiektu.składnica klucz-wartość dla danych szeregów czasowych?
Rozumiem, że zamiast tego używam czegoś w rodzaju sklepu z kluczem, takiego jak MongoDB, ale nie jestem pewien, czy jest to "odpowiednie" użycie tego typu rzeczy, i nie mogłem znaleźć żadnych wzmianek wykorzystania takiej bazy danych dla danych szeregów czasowych. idealnie, byłbym w stanie wykonać następujące zapytania:
- pobrać wszystkie dane dla obiektu XYZ między t1 i t2 czas
- wykonaj wyżej, ale zwraca jeden punkt datę dziennie (pierwszy i ostatni zamknięte do czasu t ...)
- odzyskać wszystkie dane dla wszystkich obiektów dla określonego znacznika czasu
dane powinny być zamówione, a najlepiej powinna być szybko pisać nowych danych oraz aktualizacji istniejących danych .
Wygląda na to, że moje pragnienie zapytania za pomocą identyfikatora obiektu oraz znacznika czasu może wymagać posiadania dwóch kopii bazy danych indeksowanych na różne sposoby w celu uzyskania optymalnej wydajności ... każdy ma doświadczenie w budowaniu takiego systemu, z klucz-wartość magazynu lub HDF5, czy coś innego? czy jest to całkowicie wykonalne w SQL Server i po prostu nie robię tego dobrze?
Bummer, że nikt nie odpowiedział na to pytanie ... Pytam to jeszcze raz, żeby sprawdzić, czy ktoś coś wie. – btelles