Slide 1

Slide 1 text

Building a Startup
 with NoSQL Sebastian Cohnen, @tisba
 stormforger.com, @StormForgerApp
 NoSQL Matters Barcelona 2014

Slide 2

Slide 2 text

About me • Sebastian Cohnen, M. Sc. • Developer & Founder from Cologne, Germany • (Web-) Architectures, Performance & Scalability • Founder of StormForger.com
 (services around load testing HTTP-based systems)

Slide 3

Slide 3 text

Startups • agile & open minded • small teams, pragmatic • solve new problems

Slide 4

Slide 4 text

NoSQL? "A NoSQL (often interpreted as Not Only SQL) database provides a mechanism for storage and retrieval of data that is modeled in means other than the tabular relations used in relational databases." https://en.wikipedia.org/wiki/NoSQL "Motivations for this approach include simplicity of design, horizontal scaling and finer control over availability."

Slide 5

Slide 5 text

NoSQL • Ease of use (development & operations) • Very special problem

Slide 6

Slide 6 text

StormForger

Slide 7

Slide 7 text

StormForger • load and performance testing of HTTP APIs • SaaS product • plan, configure and execute tests • analyze and compare results

Slide 8

Slide 8 text

We are a startup!

Slide 9

Slide 9 text

Our Needs • handle highly structured, complex data • ingest, process and query time series data • caching of structured data • centralized logging and log analysis

Slide 10

Slide 10 text

How to find the
 perfect solution?

Slide 11

Slide 11 text

There isn't one :-/

Slide 12

Slide 12 text

Polyglot Persistence (NoSQL)
 Technology Problem

Slide 13

Slide 13 text

…but be careful • What are the downsides and tradeoffs? • Availability of tooling? • How mature is the technology? • What about (community or commercial) support?

Slide 14

Slide 14 text

Back to StormForger's needs…

Slide 15

Slide 15 text

• SQL-ish, declarative query language • easy to get started with • powerful background/stream processing Time Series Data

Slide 16

Slide 16 text

Caching • very, very fast • primitive functions to work with data structures • awesome community

Slide 17

Slide 17 text

• ELK (Elastic Search + Logstash + Kibana) • Centralized, aggregated logging • Great analysis and search features Logging

Slide 18

Slide 18 text

Structured Data • Not really tackled yet • For now: serialize and store as TEXT in RDMS

Slide 19

Slide 19 text

Structured Data (2) • we already evaluated some solutions • great query language (AQL) • support for JOINS & Graphs

Slide 20

Slide 20 text

Conclusion • focus on ease of use aspects • be pragmatic and think agile • pick the right tool for the job

Slide 21

Slide 21 text

And if you think you found the right solution… …there are always alternatives…

Slide 22

Slide 22 text

What about using a SQL DB for NoSQL?

Slide 23

Slide 23 text

PostgreSQL • hstore: Key/Value • json & jsonb: JSON data • just use your existing tools • query via SQL, indexable, …

Slide 24

Slide 24 text

No content

Slide 25

Slide 25 text

Thanks! https://stormforger.com Sebastian Cohnen (@tisba) Questions?