Par simplicité, disons que j'ai un tableau comme suit arr[time]=[price,asset]
(les prix peuvent se répéter pour le même actif jusqu'à 12 fois par seconde).Amazon Redshift Time Series
Je souhaiterais pouvoir afficher les données à différentes échelles, par ex. 5 ans avec 1 échantillon par 1 heure, 2,5 ans avec 1 échantillon par 0,5 heure ainsi que pouvoir accéder à des tiques spécifiques entre les points.
Serait-il plus économique et pratique d'utiliser plusieurs tables dans DynamoDB ou une seule base de données dans Redshift? Quels schémas/tables est-ce que j'utilise pour Redshift?
EDIT: J'ai des entités qui ressemblent {'time':1505128343,'price':3.141708,'asset':1}
lors de la recherche entre les périodes de temps comme WHERE time>=1504118343 AND time<=1505128343
Je ne veux pas nécessairement sortir chaque prix pour de grandes plages (de sorte que le client ne plante pas) mais au lieu voudrait sortir chaque nth prix.
Dans ma mise en œuvre, je dispose de plusieurs tables pour différentes échelles donc une fois que la plage est assez grande, nous REPLI, donc si quand nous avons une série de tables prices
, prices30s
, prices1h
, prices1day
etc la table prices30s
aurait la série échantillonnées une fois par 30 secondes.
Désolé, mais vos exigences ne sont pas très claires, il est donc difficile de répondre à votre question. Pouvez-vous montrer un échantillon des données stockées dans les tables, et un exemple de requête que vous souhaitez exécuter? Qu'entendez-vous par "voir les données à différentes échelles" et "accéder à des ticks spécifiques entre les points"? Et qu'est-ce que 'arr [temps] = [prix, actif]' veut dire? –
Désolé si je me suis mal expliqué, j'ai édité et élaboré le message original. – Max0999
Plutôt que d'échantillonner au hasard des données, ne serait-il pas préférable de fournir un prix moyen pour une période donnée, comme le prix horaire moyen (ou max), le prix annuel moyen (ou max), etc.? Les entrepôts de données tels qu'Amazon Redshift peuvent gérer ce type de calcul assez facilement. –