Alternatives to Apache Calcite logo

Alternatives to Apache Calcite

Presto, Apache Drill, Apache Spark, Node.js, and Django are the most popular alternatives and competitors to Apache Calcite.
7
16
+ 1
0

What is Apache Calcite and what are its top alternatives?

It is an open source framework for building databases and data management systems. It includes a SQL parser, an API for building expressions in relational algebra, and a query planning engine
Apache Calcite is a tool in the Frameworks (Full Stack) category of a tech stack.
Apache Calcite is an open source tool with 2.5K GitHub stars and 1.4K GitHub forks. Here’s a link to Apache Calcite's open source repository on GitHub

Top Alternatives to Apache Calcite

  • Presto

    Presto

    Distributed SQL Query Engine for Big Data

  • Apache Drill

    Apache Drill

    Apache Drill is a distributed MPP query layer that supports SQL and alternative query languages against NoSQL and Hadoop data storage systems. It was inspired in part by Google's Dremel. ...

  • 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. ...

  • Node.js

    Node.js

    Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices. ...

  • Django

    Django

    Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design. ...

  • ASP.NET

    ASP.NET

    .NET is a developer platform made up of tools, programming languages, and libraries for building many different types of applications. ...

  • Laravel

    Laravel

    It is a web application framework with expressive, elegant syntax. It attempts to take the pain out of development by easing common tasks used in the majority of web projects, such as authentication, routing, sessions, and caching. ...

  • Android SDK

    Android SDK

    Android provides a rich application framework that allows you to build innovative apps and games for mobile devices in a Java language environment. ...

Apache Calcite alternatives & related posts

Presto logo

Presto

298
769
57
Distributed SQL Query Engine for Big Data
298
769
+ 1
57
PROS OF PRESTO
  • 15
    Works directly on files in s3 (no ETL)
  • 11
    Join multiple databases
  • 11
    Open-source
  • 8
    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 · | 35 upvotes · 748K 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 · 1.8M 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 Drill logo

    Apache Drill

    61
    128
    14
    Schema-Free SQL Query Engine for Hadoop and NoSQL
    61
    128
    + 1
    14
    PROS OF APACHE DRILL
    • 4
      NoSQL and Hadoop
    • 3
      Free
    • 3
      Lightning speed and simplicity in face of data jungle
    • 1
      Well documented for fast install
    • 1
      Nested Data support
    • 1
      Read Structured and unstructured data
    • 1
      V1.10 released - https://drill.apache.org/
    CONS OF APACHE DRILL
      Be the first to leave a con

      related Apache Drill posts

      Apache Spark logo

      Apache Spark

      2.2K
      2.6K
      132
      Fast and general engine for large-scale data processing
      2.2K
      2.6K
      + 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 · 1.8M 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 · 937K 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
      Node.js logo

      Node.js

      108.8K
      88.5K
      8.3K
      A platform built on Chrome's JavaScript runtime for easily building fast, scalable network applications
      108.8K
      88.5K
      + 1
      8.3K
      PROS OF NODE.JS
      • 1.4K
        Npm
      • 1.3K
        Javascript
      • 1.1K
        Great libraries
      • 1K
        High-performance
      • 791
        Open source
      • 480
        Great for apis
      • 471
        Asynchronous
      • 417
        Great community
      • 387
        Great for realtime apps
      • 292
        Great for command line utilities
      • 78
        Node Modules
      • 76
        Websockets
      • 65
        Uber Simple
      • 53
        Allows us to reuse code in the frontend
      • 53
        Great modularity
      • 38
        Easy to start
      • 33
        Great for Data Streaming
      • 29
        Realtime
      • 25
        Awesome
      • 23
        Non blocking IO
      • 16
        Can be used as a proxy
      • 15
        High performance, open source, scalable
      • 14
        Non-blocking and modular
      • 13
        Easy and Fun
      • 12
        Same lang as AngularJS
      • 11
        Easy and powerful
      • 10
        Future of BackEnd
      • 9
        Fast
      • 8
        Scalability
      • 8
        Cross platform
      • 8
        Fullstack
      • 7
        Mean Stack
      • 7
        Simple
      • 5
        Easy concurrency
      • 5
        Great for webapps
      • 5
        React
      • 4
        Friendly
      • 4
        Easy to use and fast and goes well with JSONdb's
      • 4
        Typescript
      • 4
        Fast, simple code and async
      • 3
        Its amazingly fast and scalable
      • 3
        Scalable
      • 3
        Great speed
      • 3
        Fast development
      • 3
        Isomorphic coolness
      • 3
        Control everything
      • 2
        It's fast
      • 2
        Not Python
      • 2
        Blazing fast
      • 2
        One language, end-to-end
      • 2
        TypeScript Support
      • 2
        Easy to learn
      • 2
        Javascript2
      • 2
        Easy to use
      • 2
        Less boilerplate code
      • 2
        Sooper easy for the Backend connectivity
      • 2
        Great community
      • 2
        Scales, fast, simple, great community, npm, express
      • 2
        Performant and fast prototyping
      • 1
        Easy
      • 1
        Lovely
      • 0
        Event Driven
      CONS OF NODE.JS
      • 46
        Bound to a single CPU
      • 40
        New framework every day
      • 34
        Lots of terrible examples on the internet
      • 28
        Asynchronous programming is the worst
      • 22
        Callback
      • 16
        Javascript
      • 11
        Dependency based on GitHub
      • 10
        Dependency hell
      • 10
        Low computational power
      • 7
        Can block whole server easily
      • 6
        Very very Slow
      • 6
        Callback functions may not fire on expected sequence
      • 3
        Unneeded over complication
      • 3
        Unstable
      • 3
        Breaking updates
      • 1
        No standard approach

      related Node.js posts

      Nick Rockwell
      SVP, Engineering at Fastly · | 42 upvotes · 1.5M views

      When I joined NYT there was already broad dissatisfaction with the LAMP (Linux Apache HTTP Server MySQL PHP) Stack and the front end framework, in particular. So, I wasn't passing judgment on it. I mean, LAMP's fine, you can do good work in LAMP. It's a little dated at this point, but it's not ... I didn't want to rip it out for its own sake, but everyone else was like, "We don't like this, it's really inflexible." And I remember from being outside the company when that was called MIT FIVE when it had launched. And been observing it from the outside, and I was like, you guys took so long to do that and you did it so carefully, and yet you're not happy with your decisions. Why is that? That was more the impetus. If we're going to do this again, how are we going to do it in a way that we're gonna get a better result?

      So we're moving quickly away from LAMP, I would say. So, right now, the new front end is React based and using Apollo. And we've been in a long, protracted, gradual rollout of the core experiences.

      React is now talking to GraphQL as a primary API. There's a Node.js back end, to the front end, which is mainly for server-side rendering, as well.

      Behind there, the main repository for the GraphQL server is a big table repository, that we call Bodega because it's a convenience store. And that reads off of a Kafka pipeline.

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

      How Uber developed the open source, end-to-end distributed tracing Jaeger , now a CNCF project:

      Distributed tracing is quickly becoming a must-have component in the tools that organizations use to monitor their complex, microservice-based architectures. At Uber, our open source distributed tracing system Jaeger saw large-scale internal adoption throughout 2016, integrated into hundreds of microservices and now recording thousands of traces every second.

      Here is the story of how we got here, from investigating off-the-shelf solutions like Zipkin, to why we switched from pull to push architecture, and how distributed tracing will continue to evolve:

      https://eng.uber.com/distributed-tracing/

      (GitHub Pages : https://www.jaegertracing.io/, GitHub: https://github.com/jaegertracing/jaeger)

      Bindings/Operator: Python Java Node.js Go C++ Kubernetes JavaScript OpenShift C# Apache Spark

      See more
      Django logo

      Django

      23.8K
      20.6K
      3.6K
      The Web framework for perfectionists with deadlines
      23.8K
      20.6K
      + 1
      3.6K
      PROS OF DJANGO
      • 618
        Rapid development
      • 459
        Open source
      • 394
        Great community
      • 344
        Easy to learn
      • 256
        Mvc
      • 208
        Beautiful code
      • 207
        Elegant
      • 187
        Free
      • 186
        Great packages
      • 173
        Great libraries
      • 63
        Restful
      • 60
        Powerful
      • 59
        Comes with auth and crud admin panel
      • 55
        Great documentation
      • 52
        Great for web
      • 41
        Python
      • 35
        Great orm
      • 31
        Great for api
      • 24
        All included
      • 20
        Web Apps
      • 19
        Fast
      • 16
        Used by top startups
      • 14
        Clean
      • 13
        Sexy
      • 12
        Easy setup
      • 10
        Convention over configuration
      • 7
        ORM
      • 7
        Allows for very rapid development with great libraries
      • 7
        The Django community
      • 5
        Its elegant and practical
      • 5
        Great MVC and templating engine
      • 4
        Full stack
      • 4
        Mvt
      • 4
        Easy Structure , useful inbuilt library
      • 4
        Fast prototyping
      • 4
        Easy to develop end to end AI Models
      • 3
        Easy
      • 3
        Easy to use
      • 3
        King of backend world
      • 3
        Cross-Platform
      • 3
        Batteries included
      • 3
        Have not found anything that it can't do
      • 2
        Scaffold
      • 2
        Zero code burden to change databases
      • 2
        Full-Text Search
      • 2
        Map
      • 2
        Modular
      • 2
        Very quick to get something up and running
      • 2
        Many libraries
      • 2
        Python community
      • 2
        Great peformance
      • 2
        Just the right level of abstraction
      • 1
        Easy to change database manager
      CONS OF DJANGO
      • 24
        Underpowered templating
      • 19
        Underpowered ORM
      • 18
        Autoreload restarts whole server
      • 15
        URL dispatcher ignores HTTP method
      • 10
        Internal subcomponents coupling
      • 7
        Not nodejs
      • 7
        Admin
      • 6
        Configuration hell
      • 3
        Not as clean and nice documentation like Laravel
      • 3
        Bloated admin panel included
      • 3
        Python
      • 2
        Overwhelming folder structure
      • 2
        Not typed
      • 1
        InEffective Multithreading

      related Django posts

      Dmitry Mukhin

      Simple controls over complex technologies, as we put it, wouldn't be possible without neat UIs for our user areas including start page, dashboard, settings, and docs.

      Initially, there was Django. Back in 2011, considering our Python-centric approach, that was the best choice. Later, we realized we needed to iterate on our website more quickly. And this led us to detaching Django from our front end. That was when we decided to build an SPA.

      For building user interfaces, we're currently using React as it provided the fastest rendering back when we were building our toolkit. It’s worth mentioning Uploadcare is not a front-end-focused SPA: we aren’t running at high levels of complexity. If it were, we’d go with Ember.js.

      However, there's a chance we will shift to the faster Preact, with its motto of using as little code as possible, and because it makes more use of browser APIs. One of our future tasks for our front end is to configure our Webpack bundler to split up the code for different site sections. For styles, we use PostCSS along with its plugins such as cssnano which minifies all the code.

      All that allows us to provide a great user experience and quickly implement changes where they are needed with as little code as possible.

      See more

      Hey, so I developed a basic application with Python. But to use it, you need a python interpreter. I want to add a GUI to make it more appealing. What should I choose to develop a GUI? I have very basic skills in front end development (CSS, JavaScript). I am fluent in python. I'm looking for a tool that is easy to use and doesn't require too much code knowledge. I have recently tried out Flask, but it is kinda complicated. Should I stick with it, move to Django, or is there another nice framework to use?

      See more
      ASP.NET logo

      ASP.NET

      20K
      5.5K
      7
      An open source web framework for building modern web apps and services with .NET
      20K
      5.5K
      + 1
      7
      PROS OF ASP.NET
      • 7
        Great mvc
      CONS OF ASP.NET
        Be the first to leave a con

        related ASP.NET posts

        Greg Neumann

        Finding the most effective dev stack for a solo developer. Over the past year, I've been looking at many tech stacks that would be 'best' for me, as a solo, indie, developer to deliver a desktop app (Windows & Mac) plus mobile - iOS mainly. Initially, Xamarin started to stand-out. Using .NET Core as the run-time, Xamarin as the native API provider and Xamarin Forms for the UI seemed to solve all issues. But, the cracks soon started to appear. Xamarin Forms is mobile only; the Windows incarnation is different. There is no Mac UI solution (you have to code it natively in Mac OS Storyboard. I was also worried how Xamarin Forms , if I was to use it, was going to cope, in future, with Apple's new SwiftUI and Google's new Fuchsia.

        This plethora of techs for the UI-layer made me reach for the safer waters of using Web-techs for the UI. Lovely! Consistency everywhere (well, mostly). But that consistency evaporates when platform issues are addressed. There are so many web frameworks!

        But, I made a simple decision. It's just me...I am clever, but there is no army of coders here. And I have big plans for a business app. How could just 1 developer go-on to deploy a decent app to Windows, iPhone, iPad & Mac OS? I remembered earlier days when I've used Microsoft's ASP.NET to scaffold - generate - loads of Code for a web-app that I needed for several charities that I worked with. What 'generators' exist that do a lot of the platform-specific rubbish, allow the necessary customisation of such platform integration and provide a decent UI?

        I've placed my colours to the Quasar Framework mast. Oh dear, that means Electron desktop apps doesn't it? Well, Ive had enough of loads of Developers saying that "the menus won't look native" or "it uses too much RAM" and so on. I've been using non-native UI-wrapped apps for ages - the date picker in Outlook on iOS is way better than the native date-picker and I'd been using it for years without getting hot under the collar about it. Developers do get so hung-up on things that busy Users hardly notice; don't you think?. As to the RAM usage issue; that's a bit true. But Users only really notice when an app uses so much RAM that the machine starts to page-out. Electron contributes towards that horizon but does not cause it. My Users will be business-users after all. Somewhat decent machines.

        Looking forward to all that lovely Vue.js around my TypeScript and all those really, really, b e a u t I f u l UI controls of Quasar Framework . Still not sure that 1 dev can deliver all that... but I'm up for trying...

        See more

        I found Heroku to be a great option to get ExpressJS up and running with very little hustle. The free tier is great, but I'd recommend to set up a cronjob to visit your site every few minutes so that the server stays awake. Netlify was the option to host the front-end because doing the server side rendering on #Heroku would have taken a little more time than I'd like to. For the moment pre-rendering the app with prerender-spa-plugin is enough to help with #seo. Puppeteer was my choice over other options because it made it easier to scrape websites made on ASP.NET which is what I needed in this case. And Vue.js is my top choice at the moment because it's really beginner friendly and it has a lot of the features I like about Angular 2 and React. vuex is a must in most of the app I build.

        See more
        Laravel logo

        Laravel

        18.5K
        14.4K
        3.4K
        A PHP Framework For Web Artisans
        18.5K
        14.4K
        + 1
        3.4K
        PROS OF LARAVEL
        • 504
          Clean architecture
        • 364
          Growing community
        • 339
          Composer friendly
        • 315
          Open source
        • 295
          The only framework to consider for php
        • 194
          Mvc
        • 189
          Quickly develop
        • 155
          Dependency injection
        • 143
          Application architecture
        • 129
          Embraces good community packages
        • 57
          Write less, do more
        • 52
          Restful routing
        • 47
          Orm (eloquent)
        • 43
          Artisan scaffolding and migrations
        • 42
          Database migrations & seeds
        • 35
          Awesome
        • 33
          Great documentation
        • 25
          Awsome, Powerfull, Fast and Rapid
        • 25
          Promotes elegant coding
        • 24
          Build Apps faster, easier and better
        • 22
          Easy to learn, scalability
        • 22
          JSON friendly
        • 21
          Most easy for me
        • 21
          Eloquent ORM
        • 19
          Modern PHP
        • 19
          Test-Driven
        • 18
          Beautiful
        • 18
          Blade Template
        • 13
          Security
        • 11
          Based on SOLID
        • 11
          Clean Documentation
        • 10
          Cool
        • 10
          Easy to attach Middleware
        • 10
          Simple
        • 10
          Convention over Configuration
        • 9
          Easy Request Validatin
        • 8
          Simpler
        • 8
          Get going quickly straight out of the box. BYOKDM
        • 8
          Its just wow
        • 8
          Fast
        • 8
          Laravel + Cassandra = Killer Framework
        • 8
          Easy to use
        • 7
          Super easy and powerful
        • 7
          Friendly API
        • 7
          Less dependencies
        • 7
          Simplistic , easy and faster
        • 6
          Great customer support
        • 6
          Its beautiful to code in
        • 5
          Php7
        • 5
          Active Record
        • 5
          Fast and Clarify framework
        • 5
          Easy
        • 5
          The only "cons" is wrong! No static method just Facades
        • 5
          Speed
        • 4
          Eloquent
        • 4
          Easy views handling and great ORM
        • 4
          Minimum system requirements
        • 4
          Laravel Mix
        • 4
          Composer
        • 4
          Laragon
        • 3
          Laravel Nova
        • 3
          Laravel casher
        • 3
          Laravel Spark
        • 3
          Intuitive usage
        • 3
          Ease of use
        • 3
          Cashier with Braintree and Stripe
        • 3
          Laravel Forge and Envoy
        • 3
          Laravel Horizon and Telescope
        • 3
          Laravel Passport
        • 2
          Heart touch
        • 2
          Like heart beat
        • 2
          Touch heart artisan
        • 2
          Scout
        • 2
          Rapid development
        • 2
          Laravel love live long
        CONS OF LARAVEL
        • 40
          PHP
        • 27
          Too many dependency
        • 19
          Slower than the other two
        • 15
          A lot of static method calls for convenience
        • 13
          Too many include
        • 10
          Heavy
        • 7
          Bloated
        • 6
          Laravel
        • 5
          Confusing
        • 4
          Does not work well for file uploads in Shared Hosting
        • 3
          Too underrated
        • 2
          Not fast with MongoDB
        • 1
          Difficult to learn
        • 1
          Not using SOLID principles

        related Laravel posts

        Antonio Sanchez

        Back at the start of 2017, we decided to create a web-based tool for the SEO OnPage analysis of our clients' websites. We had over 2.000 websites to analyze, so we had to perform thousands of requests to get every single page from those websites, process the information and save the big amounts of data somewhere.

        Very soon we realized that the initial chosen script language and database, PHP, Laravel and MySQL, was not going to be able to cope efficiently with such a task.

        By that time, we were doing some experiments for other projects with a language we had recently get to know, Go , so we decided to get a try and code the crawler using it. It was fantastic, we could process much more data with way less CPU power and in less time. By using the concurrency abilites that the language has to offers, we could also do more Http requests in less time.

        Unfortunately, I have no comparison numbers to show about the performance differences between Go and PHP since the difference was so clear from the beginning and that we didn't feel the need to do further comparison tests nor document it. We just switched fully to Go.

        There was still a problem: despite the big amount of Data we were generating, MySQL was performing very well, but as we were adding more and more features to the software and with those features more and more different type of data to save, it was a nightmare for the database architects to structure everything correctly on the database, so it was clear what we had to do next: switch to a NoSQL database. So we switched to MongoDB, and it was also fantastic: we were expending almost zero time in thinking how to structure the Database and the performance also seemed to be better, but again, I have no comparison numbers to show due to the lack of time.

        We also decided to switch the website from PHP and Laravel to JavaScript and Node.js and ExpressJS since working with the JSON Data that we were saving now in the Database would be easier.

        As of now, we don't only use the tool intern but we also opened it for everyone to use for free: https://tool-seo.com

        See more
        CDG

        I use Laravel because it's the most advances PHP framework out there, easy to maintain, easy to upgrade and most of all : easy to get a handle on, and to follow every new technology ! PhpStorm is our main software to code, as of simplicity and full range of tools for a modern application.

        Google Analytics Analytics of course for a tailored analytics, Bulma as an innovative CSS framework, coupled with our Sass (Scss) pre-processor.

        As of more basic stuff, we use HTML5, JavaScript (but with Vue.js too) and Webpack to handle the generation of all this.

        To deploy, we set up Buddy to easily send the updates on our nginx / Ubuntu server, where it will connect to our GitHub Git private repository, pull and do all the operations needed with Deployer .

        CloudFlare ensure the rapidity of distribution of our content, and Let's Encrypt the https certificate that is more than necessary when we'll want to sell some products with our Stripe api calls.

        Asana is here to let us list all the functionalities, possibilities and ideas we want to implement.

        See more
        Android SDK logo

        Android SDK

        18.1K
        13.4K
        785
        An SDK that provides you the API libraries and developer tools necessary to build, test, and debug apps...
        18.1K
        13.4K
        + 1
        785
        PROS OF ANDROID SDK
        • 284
          Android development
        • 153
          Necessary for android
        • 127
          Android studio
        • 85
          Mobile framework
        • 81
          Backed by google
        • 26
          Platform-tools
        • 21
          Eclipse + adt plugin
        • 4
          Powerful, simple, one stop environment
        • 2
          Free
        • 2
          Больно
        CONS OF ANDROID SDK
          Be the first to leave a con

          related Android SDK posts

          Jesus Dario Rivera Rubio
          Telecomm Engineering at Netbeast · | 10 upvotes · 833.5K views

          We are using React Native in #SmartHome to share the business logic between Android and iOS team and approach users with a unique brand experience. The drawback is that we require lots of native Android SDK and Objective-C modules, so a good part of the invested time is there. The gain for a app that relies less on native communication, sensors and OS tools should be even higher.

          Also it helps us set different testing stages: we use Travis CI for the javascript (business logic), Bitrise to run build tests and @Detox for #end2end automated user tests.

          We use a microservices structure on top of Zeit's @now that read from firebase. We use JWT auth to authenticate requests among services and from users, following GitHub philosophy of using the same infrastructure than its API consumers. Firebase is used mainly as a key-value store between services and as a backup database for users. We also use its authentication mechanisms.

          You can be super locked-in if you also rely on it's analytics, but we use Amplitude for that, which offers us great insights. Intercom for communications with end-user and Mailjet for marketing.

          See more
          Sezgi Ulucam
          Developer Advocate at Hasura · | 7 upvotes · 622.4K views

          I've recently switched to using Expo for initializing and developing my React Native apps. Compared to React Native CLI, it's so much easier to get set up and going. Setting up and maintaining Android Studio, Android SDK, and virtual devices used to be such a headache. Thanks to Expo, I can now test my apps directly on my Android phone, just by installing the Expo app. I still use Xcode Simulator for iOS testing, since I don't have an iPhone, but that's easy anyway. The big win for me with Expo is ease of Android testing.

          The Expo SDK also provides convenient features like Facebook login, MapView, push notifications, and many others. https://docs.expo.io/versions/v31.0.0/sdk/

          See more