Document store oriented database
Written in Clojure
Handles Clojure Structures
Extensible Data Notation




         #myapp/Person {:first "Fred" :last "Mertz"}
FAST




       With a proper thread pool implementation:
       • 8K read
       •4k write
Concurrency
Architecture Overview
Playing a little bit
Playing a little bit




 [:hindex “workarounders” [:name]]
 [:ok true]

 [:q "workarounders" :col [:name] "poletto" eq]
 [:eq “poletto” [:name] :col]
Other Functions
[:insert "os" {:name "slackware" :releases {:initial 1993 :latest 2011}}] >
{:ok true}
[:insert "os" {:name "solaris" :releases {:initial 1992 :latest 2011}}] >
{:ok true}
[:insert "os" {:name "opensolaris" :releases {:initial 2008 :latest 2009}}] >
{:ok true}
[:insert "os" {:name "RHEL" :releases {:initial 2003 :latest 2012}}] >
{:ok true}

[:select "os" :col [:releases :initial] 1993 -1 :lt :col [:releases :latest] 2011 -1 :eq :intersect] >
[ [{:_pos 150, :name "solaris", :releases {:initial 1992, :latest 2011}}] ]


[:select "os" :col [:releases :initial] :has] >
[ [{:_pos 450, :name "RHEL", :releases {:initial 2003, :latest 2012}}
{:_pos 4, :name "slackware", :releases {:initial 1993, :latest 2011}}
{:_pos 296, :name "opensolaris", :releases {:initial 2008, :latest 2009}}
{:_pos 150, :name "solaris", :releases {:initial 1992, :latest 2011}}] ]
 Replication, distribuited servers?
 Simple to use, install and develop
 Limitations
   1MB document size
   2 gb collection size
   240 Char to index path

Aurinko

  • 2.
  • 3.
  • 4.
  • 5.
    Extensible Data Notation #myapp/Person {:first "Fred" :last "Mertz"}
  • 6.
    FAST With a proper thread pool implementation: • 8K read •4k write
  • 7.
  • 8.
  • 9.
  • 10.
    Playing a littlebit [:hindex “workarounders” [:name]] [:ok true] [:q "workarounders" :col [:name] "poletto" eq] [:eq “poletto” [:name] :col]
  • 11.
    Other Functions [:insert "os"{:name "slackware" :releases {:initial 1993 :latest 2011}}] > {:ok true} [:insert "os" {:name "solaris" :releases {:initial 1992 :latest 2011}}] > {:ok true} [:insert "os" {:name "opensolaris" :releases {:initial 2008 :latest 2009}}] > {:ok true} [:insert "os" {:name "RHEL" :releases {:initial 2003 :latest 2012}}] > {:ok true} [:select "os" :col [:releases :initial] 1993 -1 :lt :col [:releases :latest] 2011 -1 :eq :intersect] > [ [{:_pos 150, :name "solaris", :releases {:initial 1992, :latest 2011}}] ] [:select "os" :col [:releases :initial] :has] > [ [{:_pos 450, :name "RHEL", :releases {:initial 2003, :latest 2012}} {:_pos 4, :name "slackware", :releases {:initial 1993, :latest 2011}} {:_pos 296, :name "opensolaris", :releases {:initial 2008, :latest 2009}} {:_pos 150, :name "solaris", :releases {:initial 1992, :latest 2011}}] ]
  • 12.
     Replication, distribuitedservers?  Simple to use, install and develop  Limitations  1MB document size  2 gb collection size  240 Char to index path