Wir testen derzeit "Aerospike". Aber es gibt bestimmte Punkte in der Dokumentation, die wir nicht in Bezug auf die Schlüssel verstehen.Aerospike wo Abfrage-Index Python
key = ('trivium', 'profile', 'data')
# Write a record
client.put(key, {
'name': 'John Doe',
'bin_data': 'KIJSA9878MGU87',
'public_profile': True
})
Wir lesen über den Namespace, aber wenn wir versuchen, mit der allgemeinen Dokumentation abzufragen.
client = aerospike.client(config).connect()
query = client.query('trivium', 'profile')
query.select('name', 'bin_data')
query.where(p.equals('public_profile', True))
print(query.results())
Das Ergebnis ist null, aber wenn wir die „where“ Anweisung eerase die Abfrage alle Datensätze bringt, sagt die Dokumentation, dass die Abfrage der Arbeit mit dem sekundären Index, aber wie das funktioniert?
Grüße.
Danke für die vollständige Antwort, Sie haben Recht, ich dachte, dass Aerospike ist schnell, wir dachten, dass wir es für User Administrator verwenden können, aber scheint wie die Erstellung einer komplexen Abfrage ist es wichtig für das System. Wir werden jedoch eine andere Technik wie Mongo oder Cassandra versuchen. Vielen Dank, Grüße – UlyssesMarx
Sicher, Sie sollten die Lösung verwenden, die am besten zu Ihrem Anwendungsfall passt. BTW, Stream UDFs sind ziemlich einfach zu schreiben. Hier ist ein kurzes Beispiel. https://discuss.aerospike.com/t/record-manipulation-with-more-than-one-filter-lua/3637 und Code ist hier: https://github.com/pygupta/aerospike-discuss/tree/ master/topic3637 – pgupta
Aktualisierter GitHub-Link: https://github.com/pygupta/aerospike-discuss/tree/master/topic3637_streamUDF_multifilter – pgupta