Hi Christos

Does that mean Ignite cannot scale well against Berkley dB Incase of single
node?

Regards
Rajesh

On 5 Feb 2018 10:08 p.m., "Christos Erotocritou" <chris...@gridgain.com>
wrote:

> Hi Rajesh,
>
> Ignite is a distributed system, testing with one node is really not the
> way.
>
> You need to consider having multiple nodes and portion and collocate your
> data before.
>
> Thanks,
> C
>
> On 5 Feb 2018, at 16:36, Rajesh Kishore <rajesh10si...@gmail.com> wrote:
>
> Hi,
>
> We are in the process of evaluating Ignite native persistence against
> berkely db. For some reason Ignite query does not seem to be performant the
> way application code behaves against berkley db
>
> Background:
> Berkley db - As of now, we have berkley db for our application and the
> data is stored as name value pair as byte stream in the berkley db's native
> file system.
>
> Ignite DB - We are using Ignite DB's native persistence file system.
> Created appropriate index and retrieving data using SQL involving multiple
> joins.
>
> Ignite configuration : with native persistence enabled , only one node
>
> Data: As of now in the main table we have only *.1 M records *and in
> supporting tables we have around 2 million records
>
> Ignite sql query used
>
> SELECT f.entryID,f.attrName,f.attrValue, f.attrsType FROM
>     ( select st.entryID,st.attrName,st.attrValue, st.attrsType from
>             (SELECT at1.entryID FROM "objectclass".Ignite_ObjectClass at1
> WHERE  at1.attrValue= ? ) t
>             INNER JOIN
>             "Ignite_DSAttributeStore".IGNITE_DSATTRIBUTESTORE st ON
> st.entryID = t.entryID  WHERE st.attrKind IN ('u','o')
>     ) f
>    INNER JOIN  (SELECT entryID from "dn".Ignite_DN where parentDN like ? )
> dnt ON f.entryID = dnt.entry
>
> The corresponding EXPLAIN PLAN
>
>
>
> [[SELECT
>     F__Z3.ENTRYID AS __C0_0,
>     F__Z3.ATTRNAME AS __C0_1,
>     F__Z3.ATTRVALUE AS __C0_2,
>     F__Z3.ATTRSTYPE AS __C0_3
> FROM (
>     SELECT
>         ST__Z2.ENTRYID,
>         ST__Z2.ATTRNAME,
>         ST__Z2.ATTRVALUE,
>         ST__Z2.ATTRSTYPE
>     FROM (
>         SELECT
>             AT1__Z0.ENTRYID
>         FROM "objectclass".IGNITE_OBJECTCLASS AT1__Z0
>         WHERE AT1__Z0.ATTRVALUE = ?1
>     ) T__Z1
>     INNER JOIN "Ignite_DSAttributeStore".IGNITE_DSATTRIBUTESTORE ST__Z2
>         ON 1=1
>     WHERE (ST__Z2.ATTRKIND IN('u', 'o'))
>         AND (ST__Z2.ENTRYID = T__Z1.ENTRYID)
> ) F__Z3
>     /* SELECT
>         ST__Z2.ENTRYID,
>         ST__Z2.ATTRNAME,
>         ST__Z2.ATTRVALUE,
>         ST__Z2.ATTRSTYPE
>     FROM (
>         SELECT
>             AT1__Z0.ENTRYID
>         FROM "objectclass".IGNITE_OBJECTCLASS AT1__Z0
>         WHERE AT1__Z0.ATTRVALUE = ?1
>     ) T__Z1
>         /++ SELECT
>             AT1__Z0.ENTRYID
>         FROM "objectclass".IGNITE_OBJECTCLASS AT1__Z0
>             /++ "objectclass".OBJECTCLASSNDEXED_ATTRVAL_IDX: ATTRVALUE =
> ?1 ++/
>         WHERE AT1__Z0.ATTRVALUE = ?1
>          ++/
>     INNER JOIN "Ignite_DSAttributeStore".IGNITE_DSATTRIBUTESTORE ST__Z2
>         /++ "Ignite_DSAttributeStore".IGNITE_DSATTRIBUTESTORE_ENTRYID_IDX:
> ENTRYID = T__Z1.ENTRYID ++/
>         ON 1=1
>     WHERE (ST__Z2.ATTRKIND IN('u', 'o'))
>         AND (ST__Z2.ENTRYID = T__Z1.ENTRYID)
>      */
> INNER JOIN (
>     SELECT
>         __Z4.ENTRYID
>     FROM "dn".IGNITE_DN __Z4
>     WHERE __Z4.PARENTDN LIKE ?2
> ) DNT__Z5
>     /* SELECT
>         __Z4.ENTRYID
>     FROM "dn".IGNITE_DN __Z4
>         /++ "dn".EP_DN_IDX: ENTRYID IS ?3 ++/
>     WHERE (__Z4.ENTRYID IS ?3)
>         AND (__Z4.PARENTDN LIKE ?2): ENTRYID = F__Z3.ENTRYID
>      */
>     ON 1=1
> WHERE F__Z3.ENTRYID = DNT__Z5.ENTRYID
> ORDER BY 1], [SELECT
>     __C0_0 AS ENTRYID,
>     __C0_1 AS ATTRNAME,
>     __C0_2 AS ATTRVALUE,
>     __C0_3 AS ATTRSTYPE
> FROM PUBLIC.__T0
>     /* "Ignite_DSAttributeStore"."merge_sorted" */
> ORDER BY 1
> /* index sorted */]]
>
>
> Any pointers , how should I proceed , Following is the JFR report for the
> code used
> cursor = cache.query(new SqlFieldsQuery(query).setEnforceJoinOrder(true);
> cursor.getAll();
>
>
> <image.png>
>
>
>
> Thanks,
> Rajesh
>
>
>

Reply via email to