Sebastian Cohnen – Building a Startup with NoSQL - NoSQL matters Barcelona 2014

Preview:

Citation preview

Building a Startupwith NoSQL

Sebastian Cohnen, @tisbastormforger.com, @StormForgerApp

NoSQL Matters Barcelona 2014

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)

Startups

• agile & open minded

• small teams, pragmatic

• solve new problems

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

NoSQL

• Ease of use (development & operations)

• Very special problem

StormForger

StormForger• load and performance testing of HTTP APIs

• SaaS product

• plan, configure and execute tests

• analyze and compare results

We are a startup!

Our Needs• handle highly structured, complex data

• ingest, process and query time series data

• caching of structured data

• centralized logging and log analysis

How to find theperfect solution?

There isn't one :-/

Polyglot Persistence

(NoSQL)TechnologyProblem

…but be careful• What are the downsides and tradeoffs?

• Availability of tooling?

• How mature is the technology?

• What about (community or commercial) support?

Back to StormForger's needs…

• SQL-ish, declarative query language

• easy to get started with

• powerful background/stream processing

Time Series Data

Caching

• very, very fast

• primitive functions to work with data structures

• awesome community

• ELK (Elastic Search + Logstash + Kibana)

• Centralized, aggregated logging

• Great analysis and search features

Logging

Structured Data

• Not really tackled yet

• For now: serialize and store as TEXT in RDMS

Structured Data (2)

• we already evaluated some solutions

• great query language (AQL)

• support for JOINS & Graphs

Conclusion

• focus on ease of use aspects

• be pragmatic and think agile

• pick the right tool for the job

And if you think you found the right solution…

…there are always alternatives…

What about using a SQL DB for NoSQL?

PostgreSQL• hstore: Key/Value

• json & jsonb: JSON data

• just use your existing tools

• query via SQL, indexable, …

Thanks!

https://stormforger.comSebastian Cohnen (@tisba)

Questions?

Recommended