2016-09-04 2 views
1

Ceci est mon scénario, j'ai une entreprise de table qui a les colonnes suivantes, code, nom, description, date/heure. Maintenant, j'ai besoin de montrer le code et le nom de ces enregistrements d'affaires qui a datetime plus que l'heure actuelle du système. Quelle stratégie devrais-je adopter afin que Cassandra puisse donner la meilleure performance possible pour le scénario ci-dessus.Cassandra sélectionner des lignes en fonction de la plage de dates

Merci Ani

+0

Qu'entendez-vous par stratégie? – bkowalczyyk

Répondre

0

Je ne sais pas la taille de vos données, mais puisque vous voulez requête par datetime et que vous voulez plage, cette colonne particulière devrait être votre dernière colonne de regroupement. Cela vous assurera que vous pouvez interroger par lui et aussi que vous pouvez faire une recherche de gamme. Rappelez-vous que dans Cassandra, si vous effectuez une recherche de plage dans une colonne, votre requête se termine immédiatement.

Exemple:

requête valide select * from table où colonne1 = something1 et colonne2 = something2 et datetime> maintenant;

non valide la requête select * from table où colonne1 = something1 et colonne2 < something2 et datetime> maintenant;

Si vous avez besoin de plus de détails ou d'aide, vous pouvez nous fournir vos tailles de données et plus d'informations sur votre cas d'utilisation. En tout cas ce course from datastax m'a beaucoup aidé dans le processus de modélisation. Je le recommande à 100%. Ce est gratuit. Vous avez seulement besoin de vous inscrire.

+0

Merci Reveka pour votre réponse. Dans mon exigence je ne peux pas utiliser d'autres colonnes comme suggéré par vous (colonne1, colonne2), pourquoi parce que seule la colonne datetime est autorisée pour filtrer les données. Avez-vous utilisé "SSTable Attaché Secondary Index (SASI)" qui permet d'effectuer une requête de plage sans spécifier de colonne primaire. – Ani

+0

Oui mais je ne le recommanderais pas. Il a un comportement assez imprévisible (au moins dans mon cas d'utilisation). Donc, pour aller droit au but, votre seule option de recherche est le datetime? – Reveka

+0

Salut Reveka, Oui, mon option de recherche n'a que datetime, parce que le cas d'utilisation indique, sur le menu déroulant de la page Web je dois montrer seulement les codes d'affaires qui a datetime plus grand que courant datetime (comme d'autres codes d'affaires sont des codes métier expirés) – Ani