scylla | NoSQL data store using the seastar framework

 by   scylladb C++ Version: Current License: AGPL-3.0

kandi X-RAY | scylla Summary

kandi X-RAY | scylla Summary

scylla is a C++ library typically used in Big Data, MongoDB, Kafka, Spark, Amazon S3, DynamoDB applications. scylla has no bugs, it has no vulnerabilities, it has a Strong Copyleft License and it has medium support. You can download it from GitHub, GitLab.

Scylla is the real-time big data database that is API-compatible with Apache Cassandra and Amazon DynamoDB. Scylla embraces a shared-nothing approach that increases throughput and storage capacity to realize order-of-magnitude performance improvements and reduce hardware costs. For more information, please see the ScyllaDB web site.

            kandi-support Support

              scylla has a medium active ecosystem.
              It has 7734 star(s) with 887 fork(s). There are 347 watchers for this library.
              It had no major release in the last 6 months.
              There are 1899 open issues and 6425 have been closed. On average issues are closed in 152 days. There are 125 open pull requests and 0 closed requests.
              It has a neutral sentiment in the developer community.
              The latest version of scylla is current.

            kandi-Quality Quality

              scylla has 0 bugs and 0 code smells.

            kandi-Security Security

              scylla has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
              scylla code analysis shows 0 unresolved vulnerabilities.
              There are 0 security hotspots that need review.

            kandi-License License

              scylla is licensed under the AGPL-3.0 License. This license is Strong Copyleft.
              Strong Copyleft licenses enforce sharing, and you can use them when creating open source projects.

            kandi-Reuse Reuse

              scylla releases are not available. You will need to build from source code and install.
              Installation instructions, examples and code snippets are available.
              It has 31108 lines of code, 2467 functions and 145 files.
              It has high code complexity. Code complexity directly impacts maintainability of the code.

            Top functions reviewed by kandi - BETA

            kandi's functional review helps you automatically verify the functionalities of the libraries and avoid rework.
            Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of scylla
            Get all kandi verified functions for this library.

            scylla Key Features

            No Key Features are available at this moment for scylla.

            scylla Examples and Code Snippets

            No Code Snippets are available at this moment for scylla.

            Community Discussions


            Scylla gocqlx how to implement pagination similar to a cursor
            Asked 2022-Mar-07 at 16:01

            I'm using Scylla to save parties created by a users. The method below returns a list of parties created by a user. I currently return all parties without allowing pagination, but I'm trying to implement Pagination for the method below but I still don't quite understand how pagination is handled with Scylla.
            My guess would be that a cursor can be passed to a query. Based on this example it looks like the PageState can be used to pass something similar to a cursor.
            I would appreciate a short explanation what PageState is and if I should use it to accomplish token based pagination. It would also be great if an example could be provided that shows how a new PageState can be returned to the client and used to fetch a new page on a second request.



            Answered 2022-Mar-07 at 10:07


            How to create Docker Scylla acorss Multi DC
            Asked 2022-Jan-06 at 04:23

            I have 2 server in difference datacenter.

            • First server in DC1 with public IP
            • Second server in DC2 with public IP

            docker-compose for first server in DC1 look like this :



            Answered 2022-Jan-06 at 04:22

            After research and consultation with product advisor from scylla. i has resolved the problems :

            Scylla arsitecture if use node in virtual must be a public cloud source

            So docker-compose.yaml i change map port to public ip like this



            Scylla token range select result ordering
            Asked 2022-Jan-05 at 17:18

            Is it guaranteed that rows returned for a token range CQL SELECT query are ordered by token value?

            From the article

            ScyllaDB orders partitions by a function of the partition key, known as the partitioner, and also as the token function

            I'd like to have it confirmed that it's guaranteed (by a specification) because I'd like to implement efficient "group by partitioning key" without having to read the whole result set into memory. I'm using the latest Java driver for Scylla (not for C*) if that makes any difference.



            Answered 2022-Jan-05 at 17:18

            Yes, it is guaranteed (I am the author of that article).



            add / remove seed scylladb from container create by docker run
            Asked 2021-Dec-13 at 20:24

            How to add or remove seed from node scylladb that create with docker run, for example :



            Answered 2021-Dec-13 at 20:24

            Since you are running docker (no K8s), all parameters that you use when spinning up your container are saved under /etc/scylla.d/docker.conf.

            You can edit this file and then use supervisorctl restart scylla to update the seed list as well as other parameters you wish.



            ScyllaDB count(*) return difference result
            Asked 2021-Dec-01 at 16:18

            I have a question about query in scylladb. I want to count the rows in a table with:



            Answered 2021-Nov-29 at 13:38

            The problem you're running into is inherent in any distributed row store (Cassandra or Scylla). In order for that to work, a coordinator node needs to contact all other nodes, query them, and assemble the result set. That causes a lot of contention which may prevent some replicas from reporting properly.

            I recommend (downloading) using DSBulk for this type of operation. It has a count feature designed just for this purpose.



            How to use actix_web::client::Client in Actix-web 4.0
            Asked 2021-Nov-23 at 10:29

            I use crate scylla that use tokio 1, so i must use crate actix-web 4.0 beta. Now i have problem that use actix_web::client::Client show error :



            Answered 2021-Nov-04 at 02:16

            This is mentioned in the actix_web for v4.0:

            The client mod was removed. Clients should now use awc directly.

            The actix_web::client module has long since largely been a wrapper around the awc crate ever since the 1.0 release, but it seems they now want to separate them entirely.

            The types from awc should be near identical to those exposed in prior actix_web releases, however if you're using it with actix_web:4.0 (currently in beta) then you'll want to use awc:3.0 (currently in beta) for compatibility.



            How passing ScyllaDB connection in Rust Actix
            Asked 2021-Nov-01 at 08:45

            I have problems implement scylla-rust-driver on Rust Actix. I want just create simple CRUD with scyllaDb.

            First i create struct for App Data



            Answered 2021-Nov-01 at 08:45

            There is nothing special with Session, as seen here

            The solution is to wrap it in an Arc. We don't necessary need to do so ourselves as web::Data does this itself. Here is what I got.



            Storing arrays in Cassandra
            Asked 2021-Oct-18 at 17:54

            I have lots of fast incoming data that is organised thusly;

            • Lots of 1D arrays, one per logical object, where the position of each element in the array is important and each element is calculated and produced individually in parallel, and so not necessarily in order.
            • The data arrays themselves are not necessarily written in order.
            • The length of the arrays may vary.
            • The data is either read as an entire array at a time so makes sense to store the entire thing together.

            The way I see it, the issue is primarily caused by the way the data is made available for writing. If it was all available together I'd just store the entire lot together at the same time and be done with it.

            For smaller data loads I can get away with the postgres array datatype. One row per logical object with a key and an array column. This allows me to scale by having one writer per array, writing the elements in any order without blocking any other writer. This is limited by the rate of a single postgres node.

            In Cassandra/Scylla it looks like I have the options of either:

            1. Storing each element as its own row which would be very fast for writing, reads would be more cumbersome but doable and involve potentially lots of very wide scans,
            2. or converting the array to json/string, reading the cell, tweaking the value then re-writing it which would be horribly slow and lead to lots of compaction overhead
            3. or having the writer buffer until it receives all the array values and then writing the array in one go, except the writer won't know how long the array should be and will need a timeout to write down whatever it has by this time which ultimately means I'll need to update it at some point in the future if the late data turns up.

            What other options do I have?




            Answered 2021-Oct-18 at 17:54

            Option 1, seems to be a good match: I assume each logical object have an unique id (or better uuid) In such a case, you can create something like



            Can I create an index on maps in Scylla DB?
            Asked 2021-Oct-11 at 18:55

            There is a native map type in Scylla DB Is it possible to create an index on it? So it would be somewhat like GIN in PostgreSQL.



            Answered 2021-Oct-11 at 18:55

            Since maps are a type of collection, I think this GH issue pretty much sums it and what's supported (or not).

            Validations req mentioned in the GH issue:

            • disallow FULL indexes on non-frozen collections
            • disallow non-FULL indexes on frozen collections
            • disallow repeated creation of FULL indexes on the same collection
            • disallow referencing frozen-map entries in the WHERE clause (only allow complete map values)

            What we have:

            Non-frozen collections are currently not supported at all with proper error message, non-full indexes on frozen collections are also disallowed, repeated creation is by default forbidden for any index too. Also, I think that referencing frozen-map entries in WHERE clause should be allowed, at least with filtering.

            If you find any different behavior, please let us know and file a GH issue.



            Using Python Cassandra Driver for large no. of Queries
            Asked 2021-Oct-01 at 00:11

            We have a script which talks to Scylla (a cassandra drop-in replacement). The script is supposed to run for a few thusands systems. The script runs a few thousands queries to get its required data. However, after sometime the script gets crashed throwing this error:



            Answered 2021-Oct-01 at 00:11

            The Client session timeout indicates that the driver is timing out before the server does or - should it be overloaded - that Scylla hasn't replied back the timeout to the driver. There are a couple of ways to figure this out:

            1 - Ensure that your default_timeout is higher than Scylla enforced timeouts in /etc/scylla/scylla.yaml

            2 - Check the Scylla logs for any sign of overload. If there is, consider throttling your requests to find a balanced sweet spot to ensure they no longer fail. If it continues, consider resizing your instances.

            In addition to these, it is worth to mention that your sample code is not using PreparedStatements, TokenAwareness and other best practices as mentioned under that will certainly improve your overall throughput down the road.

            You can find further information on Scylla docs: and Scylla University


            Community Discussions, Code Snippets contain sources that include Stack Exchange Network


            No vulnerabilities reported

            Install scylla

            Scylla is fairly fussy about its build environment, requiring very recent versions of the C++20 compiler and of many libraries to build. The document includes detailed information on building and developing Scylla, but to get Scylla building quickly on (almost) any build machine, Scylla offers a frozen toolchain, This is a pre-configured Docker image which includes recent versions of all the required compilers, libraries and build tools. Using the frozen toolchain allows you to avoid changing anything in your build machine to meet Scylla's requirements - you just need to meet the frozen toolchain's prerequisites (mostly, Docker or Podman being available).


            Documentation can be found here. Seastar documentation can be found here. User documentation can be found here.
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
          • HTTPS


          • CLI

            gh repo clone scylladb/scylla

          • sshUrl


          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link