2013-04-09 8 views
8

Jaki jest najskuteczniejszy sposób sprawdzania moich obiektów dynamodb?Jak uzyskać dystynk liczyć na dynamodb na miliard obiektów?

Takich jak moje obiekty mają dziesięć właściwości i chcę uzyskać wyraźną liczbę na podstawie 3 właściwości.

+0

Czy te właściwości kiedykolwiek się zmieniają? Jak często i szybko potrzebujesz uzyskać liczbę? –

+0

zmieniają ... nie są statycznymi danymi dziennika –

+0

Co z częstotliwością i opóźnieniem zapytania o liczbę? Czy ten typ agregacji jest powszechną, wymagającą szybkiego działania? Czy potrzebujesz tego na danych w czasie rzeczywistym, czy możesz je wykonać w archiwum/kopii danych? –

Odpowiedz

4

Jeśli potrzebujesz liczników, lepiej użyć AtomicCounters (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithDDItems.html). W twoim przypadku DynamoDB nie obsługuje kluczy out-box złożonych z 3 atrybutów, chyba że je skonkludujesz, więc opcja ta tworzy redundantną tabelę, w której klucz jest połączeniem tych 3 atrybutów, a każdy z nich zarządza tymi kluczami. obiekty, aktualizuj także AtomicCounter (dodawaj, usuwaj, aktualizuj - nie jest to konieczne).

Następnie wystarczy zapytać licznik, unikając skanowania. Złożoność przestrzeni pozwala uzyskać szybkość pobierania danych.

+0

dzięki mate. Kiedykolwiek myślisz o pracy w Wielkiej Brytanii. Ping prosimy o linkin.com/in/rifaterdemsahin/ –

1

Wykonaj skanowanie przy użyciu odpowiedniego filtru ScanFilter (w tym przypadku trzy właściwości to not_null) i użyj parametru withCount (true), aby zwracać tylko liczbę pasujących rekordów zamiast samych rekordów.

See the documentation dla przykładowego kodu.

+0

Należy zauważyć, że skanowanie jest prawdopodobnie nieefektywnym sposobem radzenia sobie z tym, ponieważ jest to dość powolna operacja względem innych operacji DynamoDB. Jednak biorąc pod uwagę to, co opisałeś, nie mam lepszej odpowiedzi. –

+3

Myślę, że ta operacja wyszukiwania miliarda jest zadaniem dla sql nie dla systemów nosql. –

Powiązane problemy