Alternatives to KSQL logo

Alternatives to KSQL

Apache Spark, Kafka Streams, Apache Storm, Apache Flink, and WSO2 are the most popular alternatives and competitors to KSQL.
40
91
+ 1
5

What is KSQL and what are its top alternatives?

KSQL is an open source streaming SQL engine for Apache Kafka. It provides a simple and completely interactive SQL interface for stream processing on Kafka; no need to write code in a programming language such as Java or Python. KSQL is open-source (Apache 2.0 licensed), distributed, scalable, reliable, and real-time.
KSQL is a tool in the Stream Processing category of a tech stack.
KSQL is an open source tool with 4.6K GitHub stars and 875 GitHub forks. Here’s a link to KSQL's open source repository on GitHub

Top Alternatives to KSQL

  • Apache Spark

    Apache Spark

    Spark is a fast and general processing engine compatible with Hadoop data. It can run in Hadoop clusters through YARN or Spark's standalone mode, and it can process data in HDFS, HBase, Cassandra, Hive, and any Hadoop InputFormat. It is designed to perform both batch processing (similar to MapReduce) and new workloads like streaming, interactive queries, and machine learning. ...

  • Kafka Streams

    Kafka Streams

    It is a client library for building applications and microservices, where the input and output data are stored in Kafka clusters. It combines the simplicity of writing and deploying standard Java and Scala applications on the client side with the benefits of Kafka's server-side cluster technology. ...

  • Apache Storm

    Apache Storm

    Apache Storm is a free and open source distributed realtime computation system. Storm makes it easy to reliably process unbounded streams of data, doing for realtime processing what Hadoop did for batch processing. Storm has many use cases: realtime analytics, online machine learning, continuous computation, distributed RPC, ETL, and more. Storm is fast: a benchmark clocked it at over a million tuples processed per second per node. It is scalable, fault-tolerant, guarantees your data will be processed, and is easy to set up and operate. ...

  • Apache Flink

    Apache Flink

    Apache Flink is an open source system for fast and versatile data analytics in clusters. Flink supports batch and streaming analytics, in one system. Analytical programs can be written in concise and elegant APIs in Java and Scala. ...

  • WSO2

    WSO2

    It delivers the only complete open source middleware platform. With its revolutionary componentized design, it is also the only open source platform-as-a-service for private and public clouds available today. With it, seamless migration and integration between servers, private clouds, and public clouds is now a reality. ...

  • Druid

    Druid

    Druid is a distributed, column-oriented, real-time analytics data store that is commonly used to power exploratory dashboards in multi-tenant environments. Druid excels as a data warehousing solution for fast aggregate queries on petabyte sized data sets. Druid supports a variety of flexible filters, exact calculations, approximate algorithms, and other useful calculations. ...

  • Presto

    Presto

    Distributed SQL Query Engine for Big Data

  • Apache NiFi

    Apache NiFi

    An easy to use, powerful, and reliable system to process and distribute data. It supports powerful and scalable directed graphs of data routing, transformation, and system mediation logic. ...

KSQL alternatives & related posts

Apache Spark logo

Apache Spark

2.4K
2.8K
132
Fast and general engine for large-scale data processing
2.4K
2.8K
+ 1
132
PROS OF APACHE SPARK
  • 58
    Open-source
  • 48
    Fast and Flexible
  • 7
    One platform for every big data problem
  • 6
    Easy to install and to use
  • 6
    Great for distributed SQL like applications
  • 3
    Works well for most Datascience usecases
  • 2
    Machine learning libratimery, Streaming in real
  • 2
    In memory Computation
  • 0
    Interactive Query
CONS OF APACHE SPARK
  • 3
    Speed

related Apache Spark posts

Eric Colson
Chief Algorithms Officer at Stitch Fix · | 21 upvotes · 2.1M views

The algorithms and data infrastructure at Stitch Fix is housed in #AWS. Data acquisition is split between events flowing through Kafka, and periodic snapshots of PostgreSQL DBs. We store data in an Amazon S3 based data warehouse. Apache Spark on Yarn is our tool of choice for data movement and #ETL. Because our storage layer (s3) is decoupled from our processing layer, we are able to scale our compute environment very elastically. We have several semi-permanent, autoscaling Yarn clusters running to serve our data processing needs. While the bulk of our compute infrastructure is dedicated to algorithmic processing, we also implemented Presto for adhoc queries and dashboards.

Beyond data movement and ETL, most #ML centric jobs (e.g. model training and execution) run in a similarly elastic environment as containers running Python and R code on Amazon EC2 Container Service clusters. The execution of batch jobs on top of ECS is managed by Flotilla, a service we built in house and open sourced (see https://github.com/stitchfix/flotilla-os).

At Stitch Fix, algorithmic integrations are pervasive across the business. We have dozens of data products actively integrated systems. That requires serving layer that is robust, agile, flexible, and allows for self-service. Models produced on Flotilla are packaged for deployment in production using Khan, another framework we've developed internally. Khan provides our data scientists the ability to quickly productionize those models they've developed with open source frameworks in Python 3 (e.g. PyTorch, sklearn), by automatically packaging them as Docker containers and deploying to Amazon ECS. This provides our data scientist a one-click method of getting from their algorithms to production. We then integrate those deployments into a service mesh, which allows us to A/B test various implementations in our product.

For more info:

#DataScience #DataStack #Data

See more
Conor Myhrvold
Tech Brand Mgr, Office of CTO at Uber · | 7 upvotes · 1M views

Why we built Marmaray, an open source generic data ingestion and dispersal framework and library for Apache Hadoop :

Built and designed by our Hadoop Platform team, Marmaray is a plug-in-based framework built on top of the Hadoop ecosystem. Users can add support to ingest data from any source and disperse to any sink leveraging the use of Apache Spark . The name, Marmaray, comes from a tunnel in Turkey connecting Europe and Asia. Similarly, we envisioned Marmaray within Uber as a pipeline connecting data from any source to any sink depending on customer preference:

https://eng.uber.com/marmaray-hadoop-ingestion-open-source/

(Direct GitHub repo: https://github.com/uber/marmaray Kafka Kafka Manager )

See more
Kafka Streams logo

Kafka Streams

296
364
0
A client library for building applications and microservices
296
364
+ 1
0
PROS OF KAFKA STREAMS
    Be the first to leave a pro
    CONS OF KAFKA STREAMS
      Be the first to leave a con

      related Kafka Streams posts

      Apache Storm logo

      Apache Storm

      179
      254
      24
      Distributed and fault-tolerant realtime computation
      179
      254
      + 1
      24
      PROS OF APACHE STORM
      • 10
        Flexible
      • 6
        Easy setup
      • 3
        Clojure
      • 3
        Event Processing
      • 2
        Real Time
      CONS OF APACHE STORM
        Be the first to leave a con

        related Apache Storm posts

        Marc Bollinger
        Infra & Data Eng Manager at Thumbtack · | 5 upvotes · 465.3K views

        Lumosity is home to the world's largest cognitive training database, a responsibility we take seriously. For most of the company's history, our analysis of user behavior and training data has been powered by an event stream--first a simple Node.js pub/sub app, then a heavyweight Ruby app with stronger durability. Both supported decent throughput and latency, but they lacked some major features supported by existing open-source alternatives: replaying existing messages (also lacking in most message queue-based solutions), scaling out many different readers for the same stream, the ability to leverage existing solutions for reading and writing, and possibly most importantly: the ability to hire someone externally who already had expertise.

        We ultimately migrated to Kafka in early- to mid-2016, citing both industry trends in companies we'd talked to with similar durability and throughput needs, the extremely strong documentation and community. We pored over Kyle Kingsbury's Jepsen post (https://aphyr.com/posts/293-jepsen-Kafka), as well as Jay Kreps' follow-up (http://blog.empathybox.com/post/62279088548/a-few-notes-on-kafka-and-jepsen), talked at length with Confluent folks and community members, and still wound up running parallel systems for quite a long time, but ultimately, we've been very, very happy. Understanding the internals and proper levers takes some commitment, but it's taken very little maintenance once configured. Since then, the Confluent Platform community has grown and grown; we've gone from doing most development using custom Scala consumers and producers to being 60/40 Kafka Streams/Connects.

        We originally looked into Storm / Heron , and we'd moved on from Redis pub/sub. Heron looks great, but we already had a programming model across services that was more akin to consuming a message consumers than required a topology of bolts, etc. Heron also had just come out while we were starting to migrate things, and the community momentum and direction of Kafka felt more substantial than the older Storm. If we were to start the process over again today, we might check out Pulsar , although the ecosystem is much younger.

        To find out more, read our 2017 engineering blog post about the migration!

        See more
        Apache Flink logo

        Apache Flink

        406
        639
        35
        Fast and reliable large-scale data processing engine
        406
        639
        + 1
        35
        PROS OF APACHE FLINK
        • 15
          Unified batch and stream processing
        • 8
          Easy to use streaming apis
        • 8
          Out-of-the box connector to kinesis,s3,hdfs
        • 3
          Open Source
        • 1
          Low latency
        CONS OF APACHE FLINK
          Be the first to leave a con

          related Apache Flink posts

          Surabhi Bhawsar
          Technical Architect at Pepcus · | 7 upvotes · 547K views
          Shared insights
          on
          KafkaKafkaApache FlinkApache Flink

          I need to build the Alert & Notification framework with the use of a scheduled program. We will analyze the events from the database table and filter events that are falling under a day timespan and send these event messages over email. Currently, we are using Kafka Pub/Sub for messaging. The customer wants us to move on Apache Flink, I am trying to understand how Apache Flink could be fit better for us.

          See more

          I have to build a data processing application with an Apache Beam stack and Apache Flink runner on an Amazon EMR cluster. I saw some instability with the process and EMR clusters that keep going down. Here, the Apache Beam application gets inputs from Kafka and sends the accumulative data streams to another Kafka topic. Any advice on how to make the process more stable?

          See more
          WSO2 logo

          WSO2

          61
          122
          0
          A comprehensive middleware platform that is open source with no gimmicks
          61
          122
          + 1
          0
          PROS OF WSO2
            Be the first to leave a pro
            CONS OF WSO2
              Be the first to leave a con

              related WSO2 posts

              Druid logo

              Druid

              312
              685
              29
              Fast column-oriented distributed data store
              312
              685
              + 1
              29
              PROS OF DRUID
              • 14
                Real Time Aggregations
              • 5
                Batch and Real-Time Ingestion
              • 4
                OLAP
              • 3
                OLAP + OLTP
              • 2
                Combining stream and historical analytics
              • 1
                OLTP
              CONS OF DRUID
              • 3
                Limited sql support
              • 2
                Joins are not supported well
              • 1
                Complexity

              related Druid posts

              Umair Iftikhar
              Technical Architect at Vappar · | 3 upvotes · 140.4K views

              Developing a solution that collects Telemetry Data from different devices, nearly 1000 devices minimum and maximum 12000. Each device is sending 2 packets in 1 second. This is time-series data, and this data definition and different reports are saved on PostgreSQL. Like Building information, maintenance records, etc. I want to know about the best solution. This data is required for Math and ML to run different algorithms. Also, data is raw without definitions and information stored in PostgreSQL. Initially, I went with TimescaleDB due to PostgreSQL support, but to increase in sites, I started facing many issues with timescale DB in terms of flexibility of storing data.

              My major requirement is also the replication of the database for reporting and different purposes. You may also suggest other options other than Druid and Cassandra. But an open source solution is appreciated.

              See more
              Presto logo

              Presto

              331
              845
              62
              Distributed SQL Query Engine for Big Data
              331
              845
              + 1
              62
              PROS OF PRESTO
              • 17
                Works directly on files in s3 (no ETL)
              • 12
                Open-source
              • 11
                Join multiple databases
              • 10
                Scalable
              • 7
                Gets ready in minutes
              • 5
                MPP
              CONS OF PRESTO
                Be the first to leave a con

                related Presto posts

                Ashish Singh
                Tech Lead, Big Data Platform at Pinterest · | 36 upvotes · 885.9K views

                To provide employees with the critical need of interactive querying, we’ve worked with Presto, an open-source distributed SQL query engine, over the years. Operating Presto at Pinterest’s scale has involved resolving quite a few challenges like, supporting deeply nested and huge thrift schemas, slow/ bad worker detection and remediation, auto-scaling cluster, graceful cluster shutdown and impersonation support for ldap authenticator.

                Our infrastructure is built on top of Amazon EC2 and we leverage Amazon S3 for storing our data. This separates compute and storage layers, and allows multiple compute clusters to share the S3 data.

                We have hundreds of petabytes of data and tens of thousands of Apache Hive tables. Our Presto clusters are comprised of a fleet of 450 r4.8xl EC2 instances. Presto clusters together have over 100 TBs of memory and 14K vcpu cores. Within Pinterest, we have close to more than 1,000 monthly active users (out of total 1,600+ Pinterest employees) using Presto, who run about 400K queries on these clusters per month.

                Each query submitted to Presto cluster is logged to a Kafka topic via Singer. Singer is a logging agent built at Pinterest and we talked about it in a previous post. Each query is logged when it is submitted and when it finishes. When a Presto cluster crashes, we will have query submitted events without corresponding query finished events. These events enable us to capture the effect of cluster crashes over time.

                Each Presto cluster at Pinterest has workers on a mix of dedicated AWS EC2 instances and Kubernetes pods. Kubernetes platform provides us with the capability to add and remove workers from a Presto cluster very quickly. The best-case latency on bringing up a new worker on Kubernetes is less than a minute. However, when the Kubernetes cluster itself is out of resources and needs to scale up, it can take up to ten minutes. Some other advantages of deploying on Kubernetes platform is that our Presto deployment becomes agnostic of cloud vendor, instance types, OS, etc.

                #BigData #AWS #DataScience #DataEngineering

                See more
                Eric Colson
                Chief Algorithms Officer at Stitch Fix · | 21 upvotes · 2.1M views

                The algorithms and data infrastructure at Stitch Fix is housed in #AWS. Data acquisition is split between events flowing through Kafka, and periodic snapshots of PostgreSQL DBs. We store data in an Amazon S3 based data warehouse. Apache Spark on Yarn is our tool of choice for data movement and #ETL. Because our storage layer (s3) is decoupled from our processing layer, we are able to scale our compute environment very elastically. We have several semi-permanent, autoscaling Yarn clusters running to serve our data processing needs. While the bulk of our compute infrastructure is dedicated to algorithmic processing, we also implemented Presto for adhoc queries and dashboards.

                Beyond data movement and ETL, most #ML centric jobs (e.g. model training and execution) run in a similarly elastic environment as containers running Python and R code on Amazon EC2 Container Service clusters. The execution of batch jobs on top of ECS is managed by Flotilla, a service we built in house and open sourced (see https://github.com/stitchfix/flotilla-os).

                At Stitch Fix, algorithmic integrations are pervasive across the business. We have dozens of data products actively integrated systems. That requires serving layer that is robust, agile, flexible, and allows for self-service. Models produced on Flotilla are packaged for deployment in production using Khan, another framework we've developed internally. Khan provides our data scientists the ability to quickly productionize those models they've developed with open source frameworks in Python 3 (e.g. PyTorch, sklearn), by automatically packaging them as Docker containers and deploying to Amazon ECS. This provides our data scientist a one-click method of getting from their algorithms to production. We then integrate those deployments into a service mesh, which allows us to A/B test various implementations in our product.

                For more info:

                #DataScience #DataStack #Data

                See more
                Apache NiFi logo

                Apache NiFi

                262
                534
                62
                A reliable system to process and distribute data
                262
                534
                + 1
                62
                PROS OF APACHE NIFI
                • 15
                  Visual Data Flows using Directed Acyclic Graphs (DAGs)
                • 8
                  Free (Open Source)
                • 7
                  Simple-to-use
                • 5
                  Reactive with back-pressure
                • 5
                  Scalable horizontally as well as vertically
                • 4
                  Fast prototyping
                • 3
                  Bi-directional channels
                • 2
                  Data provenance
                • 2
                  Built-in graphical user interface
                • 2
                  End-to-end security between all nodes
                • 2
                  Can handle messages up to gigabytes in size
                • 1
                  Hbase support
                • 1
                  Kudu support
                • 1
                  Hive support
                • 1
                  Slack integration
                • 1
                  Support for custom Processor in Java
                • 1
                  Lot of articles
                • 1
                  Lots of documentation
                CONS OF APACHE NIFI
                • 2
                  HA support is not full fledge
                • 2
                  Memory-intensive

                related Apache NiFi posts

                I am looking for the best tool to orchestrate #ETL workflows in non-Hadoop environments, mainly for regression testing use cases. Would Airflow or Apache NiFi be a good fit for this purpose?

                For example, I want to run an Informatica ETL job and then run an SQL task as a dependency, followed by another task from Jira. What tool is best suited to set up such a pipeline?

                See more