How to model data using Cassandra and Ignite together?MongoDB vs. CassandraHow to join multiple data sources together in CassandraElasticsearch vs Cassandra vs Elasticsearch with CassandraCassandra Defining Primary key and alternativesConfusion over data model in cassandraApache Ignite with Apache CassandraIgnite put function for Cassandra malfunction in C++Cassandra modelling on conversation messagingCassandra prefix searchHow to create an efficient Cassandra Data model?

Word for something that used to be popular but not anymore

indexes are not created on localdb

Dragons and gems

Owner keeps cutting corners and poaching workers for his other company

What is the purpose of the rotating plate in front of the lock?

How should Thaumaturgy's "three times as loud as normal" be interpreted?

Does the word voltage exist in academic engineering?

Is it right to use the ideas of non-winning designers in a design contest?

Why are there no wireless switches?

I need to know information from an old German birth certificate

The meaning of "offing" in "an agreement in the offing"

Python implementation of atoi

How to finish my PhD?

Why are some hotels asking you to book through Booking.com instead of matching the price at the front desk?

Why is it that I have to play this note on the piano as A sharp?

If every star in the universe except the Sun were destroyed, would we die?

Complex conjugate and transpose "with respect to a basis"

Is a MySQL database a viable alternative to LDAP?

Is mountain bike good for long distances?

Did the Byzantines ever attempt to move their capital to Rome?

Short story: Interstellar inspector senses "off" nature of planet hiding aggressive culture

Would scoring well on a non-required GRE Mathematics Subject Test make me more competetive?

Is there a "right" way to interpret a novel, if not, how do we make sure our novel is interpreted correctly?

Was Robin Hood's point of view ethically sound?



How to model data using Cassandra and Ignite together?


MongoDB vs. CassandraHow to join multiple data sources together in CassandraElasticsearch vs Cassandra vs Elasticsearch with CassandraCassandra Defining Primary key and alternativesConfusion over data model in cassandraApache Ignite with Apache CassandraIgnite put function for Cassandra malfunction in C++Cassandra modelling on conversation messagingCassandra prefix searchHow to create an efficient Cassandra Data model?






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;








0















I'm researching how to model data having both Cassandra and Ignite together. So far the basic recommendation of data modeling in Cassandra (coming from this article) is clear: "model data around your queries". An author gives an example of "user lookup". We want to look up for users by their username or their email and according to him the best approach would be having two tables:



CREATE TABLE users_by_username (
username text PRIMARY KEY,
email text,
age int
)

CREATE TABLE users_by_email (
email text PRIMARY KEY,
username text,
age int
)



However things get confusing with Ignite on the top of Cassandra. Unfortunately I could not find any helpful examples or answers to the following questions:



  1. Does having multiple tables that store user information mean having Ignite cache for each of these tables?

  2. Does having compound primary key mean introducing new type for each key and use it as Ignite cache key?

  3. Having Ignite means not having direct reads from Cassandra. Does it even make scene to bother modeling data following NoSql best practices? Would it be ok to just have one user table and let Ignite take care of queries by username or email.

CREATE TABLE users (
id uuid PRIMARY KEY,
username text,
email text,
age int
)









share|improve this question






























    0















    I'm researching how to model data having both Cassandra and Ignite together. So far the basic recommendation of data modeling in Cassandra (coming from this article) is clear: "model data around your queries". An author gives an example of "user lookup". We want to look up for users by their username or their email and according to him the best approach would be having two tables:



    CREATE TABLE users_by_username (
    username text PRIMARY KEY,
    email text,
    age int
    )

    CREATE TABLE users_by_email (
    email text PRIMARY KEY,
    username text,
    age int
    )



    However things get confusing with Ignite on the top of Cassandra. Unfortunately I could not find any helpful examples or answers to the following questions:



    1. Does having multiple tables that store user information mean having Ignite cache for each of these tables?

    2. Does having compound primary key mean introducing new type for each key and use it as Ignite cache key?

    3. Having Ignite means not having direct reads from Cassandra. Does it even make scene to bother modeling data following NoSql best practices? Would it be ok to just have one user table and let Ignite take care of queries by username or email.

    CREATE TABLE users (
    id uuid PRIMARY KEY,
    username text,
    email text,
    age int
    )









    share|improve this question


























      0












      0








      0








      I'm researching how to model data having both Cassandra and Ignite together. So far the basic recommendation of data modeling in Cassandra (coming from this article) is clear: "model data around your queries". An author gives an example of "user lookup". We want to look up for users by their username or their email and according to him the best approach would be having two tables:



      CREATE TABLE users_by_username (
      username text PRIMARY KEY,
      email text,
      age int
      )

      CREATE TABLE users_by_email (
      email text PRIMARY KEY,
      username text,
      age int
      )



      However things get confusing with Ignite on the top of Cassandra. Unfortunately I could not find any helpful examples or answers to the following questions:



      1. Does having multiple tables that store user information mean having Ignite cache for each of these tables?

      2. Does having compound primary key mean introducing new type for each key and use it as Ignite cache key?

      3. Having Ignite means not having direct reads from Cassandra. Does it even make scene to bother modeling data following NoSql best practices? Would it be ok to just have one user table and let Ignite take care of queries by username or email.

      CREATE TABLE users (
      id uuid PRIMARY KEY,
      username text,
      email text,
      age int
      )









      share|improve this question














      I'm researching how to model data having both Cassandra and Ignite together. So far the basic recommendation of data modeling in Cassandra (coming from this article) is clear: "model data around your queries". An author gives an example of "user lookup". We want to look up for users by their username or their email and according to him the best approach would be having two tables:



      CREATE TABLE users_by_username (
      username text PRIMARY KEY,
      email text,
      age int
      )

      CREATE TABLE users_by_email (
      email text PRIMARY KEY,
      username text,
      age int
      )



      However things get confusing with Ignite on the top of Cassandra. Unfortunately I could not find any helpful examples or answers to the following questions:



      1. Does having multiple tables that store user information mean having Ignite cache for each of these tables?

      2. Does having compound primary key mean introducing new type for each key and use it as Ignite cache key?

      3. Having Ignite means not having direct reads from Cassandra. Does it even make scene to bother modeling data following NoSql best practices? Would it be ok to just have one user table and let Ignite take care of queries by username or email.

      CREATE TABLE users (
      id uuid PRIMARY KEY,
      username text,
      email text,
      age int
      )






      cassandra nosql ignite key-value-store






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Mar 28 at 6:32









      user2992672user2992672

      1022 silver badges9 bronze badges




      1022 silver badges9 bronze badges

























          1 Answer
          1






          active

          oldest

          votes


















          1
















          1. You should probably have one cache per Cassandra table.


          2. If your original key is compound, so should Ignite key be.


          3. You will need to use secondary indexes in Ignite to query by more than one field, and this means you will have to hold all data in Ignite (which is NOT necessary for pure caching scenario). This means enabling readThrough and writeThrough, doing loadCache and always doing all updates through Ignite. You will have to choose between "Ignite as cache for Cassandra" (stick to Cassandra's data layout, can hold partial data) and "Ignite as DB backed by Cassandra" (you can use layout optimal for Ignite, secondary indexes).






          share|improve this answer
























            Your Answer






            StackExchange.ifUsing("editor", function ()
            StackExchange.using("externalEditor", function ()
            StackExchange.using("snippets", function ()
            StackExchange.snippets.init();
            );
            );
            , "code-snippets");

            StackExchange.ready(function()
            var channelOptions =
            tags: "".split(" "),
            id: "1"
            ;
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function()
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled)
            StackExchange.using("snippets", function()
            createEditor();
            );

            else
            createEditor();

            );

            function createEditor()
            StackExchange.prepareEditor(
            heartbeatType: 'answer',
            autoActivateHeartbeat: false,
            convertImagesToLinks: true,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: 10,
            bindNavPrevention: true,
            postfix: "",
            imageUploader:
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/4.0/"u003ecc by-sa 4.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            ,
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            );



            );














            draft saved

            draft discarded
















            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55391441%2fhow-to-model-data-using-cassandra-and-ignite-together%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown

























            1 Answer
            1






            active

            oldest

            votes








            1 Answer
            1






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            1
















            1. You should probably have one cache per Cassandra table.


            2. If your original key is compound, so should Ignite key be.


            3. You will need to use secondary indexes in Ignite to query by more than one field, and this means you will have to hold all data in Ignite (which is NOT necessary for pure caching scenario). This means enabling readThrough and writeThrough, doing loadCache and always doing all updates through Ignite. You will have to choose between "Ignite as cache for Cassandra" (stick to Cassandra's data layout, can hold partial data) and "Ignite as DB backed by Cassandra" (you can use layout optimal for Ignite, secondary indexes).






            share|improve this answer





























              1
















              1. You should probably have one cache per Cassandra table.


              2. If your original key is compound, so should Ignite key be.


              3. You will need to use secondary indexes in Ignite to query by more than one field, and this means you will have to hold all data in Ignite (which is NOT necessary for pure caching scenario). This means enabling readThrough and writeThrough, doing loadCache and always doing all updates through Ignite. You will have to choose between "Ignite as cache for Cassandra" (stick to Cassandra's data layout, can hold partial data) and "Ignite as DB backed by Cassandra" (you can use layout optimal for Ignite, secondary indexes).






              share|improve this answer



























                1














                1










                1









                1. You should probably have one cache per Cassandra table.


                2. If your original key is compound, so should Ignite key be.


                3. You will need to use secondary indexes in Ignite to query by more than one field, and this means you will have to hold all data in Ignite (which is NOT necessary for pure caching scenario). This means enabling readThrough and writeThrough, doing loadCache and always doing all updates through Ignite. You will have to choose between "Ignite as cache for Cassandra" (stick to Cassandra's data layout, can hold partial data) and "Ignite as DB backed by Cassandra" (you can use layout optimal for Ignite, secondary indexes).






                share|improve this answer













                1. You should probably have one cache per Cassandra table.


                2. If your original key is compound, so should Ignite key be.


                3. You will need to use secondary indexes in Ignite to query by more than one field, and this means you will have to hold all data in Ignite (which is NOT necessary for pure caching scenario). This means enabling readThrough and writeThrough, doing loadCache and always doing all updates through Ignite. You will have to choose between "Ignite as cache for Cassandra" (stick to Cassandra's data layout, can hold partial data) and "Ignite as DB backed by Cassandra" (you can use layout optimal for Ignite, secondary indexes).







                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Mar 28 at 16:09









                alamaralamar

                12.5k2 gold badges54 silver badges81 bronze badges




                12.5k2 gold badges54 silver badges81 bronze badges





















                    Got a question that you can’t ask on public Stack Overflow? Learn more about sharing private information with Stack Overflow for Teams.







                    Got a question that you can’t ask on public Stack Overflow? Learn more about sharing private information with Stack Overflow for Teams.




















                    draft saved

                    draft discarded















































                    Thanks for contributing an answer to Stack Overflow!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid


                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.

                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function ()
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55391441%2fhow-to-model-data-using-cassandra-and-ignite-together%23new-answer', 'question_page');

                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    Popular posts from this blog

                    SQL error code 1064 with creating Laravel foreign keysForeign key constraints: When to use ON UPDATE and ON DELETEDropping column with foreign key Laravel error: General error: 1025 Error on renameLaravel SQL Can't create tableLaravel Migration foreign key errorLaravel php artisan migrate:refresh giving a syntax errorSQLSTATE[42S01]: Base table or view already exists or Base table or view already exists: 1050 Tableerror in migrating laravel file to xampp serverSyntax error or access violation: 1064:syntax to use near 'unsigned not null, modelName varchar(191) not null, title varchar(191) not nLaravel cannot create new table field in mysqlLaravel 5.7:Last migration creates table but is not registered in the migration table

                    용인 삼성생명 블루밍스 목차 통계 역대 감독 선수단 응원단 경기장 같이 보기 외부 링크 둘러보기 메뉴samsungblueminx.comeh선수 명단용인 삼성생명 블루밍스용인 삼성생명 블루밍스ehsamsungblueminx.comeheheheh

                    155 수학 과학 기타 둘러보기 메뉴eh추가해eh문서를 완성해