Because of the way that Datomic stores it's data (5 tuples: entity, 
attribute, value, transaction, and operation) it has some pretty simple 
indexes that allow for powerful queries. EAVT allows for rapidly searching 
by entity, VAET allows for quick reverse look ups, etc. The only index that 
you get to choose on is the AVET index, that allows for searching across an 
attribute (column level search in the relational world), and that's toggled 
by the :db/index attribute on the schema. Which index a query uses depends 
on what you're trying to do with datalog, it's pretty much out of the users 
hands unless if you start using the raw index API.

The current word from the Datomic team is that they highly recommend 
leaving the index on for all attributes, as it consumes small enough 
amounts of data in most scenarios. Datomic is also pretty good at keeping 
only useful indexes in memory, so you should probably be fine.

--
Ashton

On Sunday, February 1, 2015 at 5:31:37 AM UTC-7, Milton Silva wrote:
>
> For now I'm hand coding a big loop with transients and a bytebuffer. It is 
> an incredibly ugly imperative mess but, it is fast enough and so far it 
> fits nicely into ram.
> It takes 2s (at this point gloss was taking upwards of 5 minutes) to 
> decode 200MB all the way to tcp and uses 500MB of heap. This is faster than 
> wireshark(10s) but a bit more memory hungry. Will see how it responds when 
> decoding diameter, so far that part is stored as byte-arrays.
>
> Thank you for the pointers with datomic. Are the indexes created 
> automatically or do I need to specify them on the schema?
>
>>  

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to