Con l'annuncio del nuovo modello di determinazione dei prezzi di Google App Engine, ho realizzato che la mia applicazione non sarebbe in grado di sostenersi a causa del prezzo estremamente elevato delle interazioni di Google Datastore. Dato che si tratta di un gioco sociale che si basa su input coerenti e rapidi, questa applicazione richiede semplicemente troppe interazioni di datastore per utente per essere praticabile (anche con memcache che media le query e le operazioni comuni).API client Cassandra più simile all'API Datastore di App Engine?
Dalla ricerca che ho fatto, sembra che la soluzione migliore sarebbe per il mio team migrare verso una soluzione di database basata su Cassandra. Ho esaminato le varie API popolari come Hector e Pelops, ma dalla mia ispezione iniziale sembra che siano un po 'troppo di basso livello per quello che sto cercando. Esiste un'API client Cassandra in Java che emula l'API Datstore di basso livello dell'App Engine e utilizza lo stesso modello di proprietà/Entity Group? Per lo meno vorrei che l'API avesse gli stessi concetti di entità "Ancestor" e mantenesse le transazioni tra gruppi nello stesso modo.
MODIFICA: Per chiarire, quello che sto davvero cercando è un'API Cassandra che supporti Transactions. Per quanto posso capire, le transazioni in un ambiente NoSQL sono difficili, se non impossibili da implementare senza alcuni raggruppamenti gerarchici di "oggetti" (chiamali come vuoi, entità, tabelle, ecc.). Questo sembra essere il motivo per cui Hector non li implementa.
Quindi, la mia domanda è, qual è l'API Cassandra più popolare che implementa una qualche forma di sistemi transazionali, preferibilmente uno che utilizza una struttura Entità simile a GAE?
Questa non è una risposta alla tua domanda, di per sé, ma sembra un approccio vantaggioso potrebbe essere la progettazione un'astrazione delle esigenze dell'archivio dati della tua applicazione. Pensala come un'API interna, progettata per nascondere le differenze di GAE e Cassandra (e forse qualcos'altro come AWS). Potresti scoprire che implementare una versione di Cassandra non è poi così male e/o ti dà la possibilità di cambiare i data store in futuro. – RichW
@RichW Sì, questo è esattamente l'approccio che stiamo prendendo in questo momento. Stiamo creando una serie di interfacce indipendenti dalle specifiche chiamate Datastore di GAE e spostando tutte le interazioni con il Datastore in un'implementazione di tale interfaccia. È un compito immenso che in realtà non volevamo fare in questa fase, quindi mi piacerebbe sapere quale API Cassandra è la più simile, quindi posso cercarla e garantire che l'architettura che stiamo riprogettando ora non avrà bisogno di molto modifica una volta effettuato l'interruttore inevitabile. – depthfirstdesigner
Avrei cercato l'API del canale GAE se avessi quel tipo di applicazione. Le mie app sono di piccole e medie dimensioni e sicuramente pagherò 20 volte di più con i nuovi prezzi, ma è ancora solo una frazione di un server dedicato o un costo di hosting fisico poiché utilizzo solo HTTP standard e/o post. Ho sentito parlare dell'API del canale e penso che possa fare questo tipo di interazioni, mi dispiace se mi sbaglio, ma suppongo che sia basato su ciò che ho letto. –