Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Building a Startup
 with NoSQL

Building a Startup
 with NoSQL

These slides are from a talk I gave at NoSQL Matters 2014 in Barcelona. It's not very technical per-se and more focussed on what kind of decision making is important to choose NoSQL technology (especially) when you are a startup.

Sebastian Cohnen

December 01, 2014
Tweet

More Decks by Sebastian Cohnen

Other Decks in Technology

Transcript

  1. 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)
  2. 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."
  3. StormForger • load and performance testing of HTTP APIs •

    SaaS product • plan, configure and execute tests • analyze and compare results
  4. Our Needs • handle highly structured, complex data • ingest,

    process and query time series data • caching of structured data • centralized logging and log analysis
  5. …but be careful • What are the downsides and tradeoffs?

    • Availability of tooling? • How mature is the technology? • What about (community or commercial) support?
  6. • SQL-ish, declarative query language • easy to get started

    with • powerful background/stream processing Time Series Data
  7. Caching • very, very fast • primitive functions to work

    with data structures • awesome community
  8. • ELK (Elastic Search + Logstash + Kibana) • Centralized,

    aggregated logging • Great analysis and search features Logging
  9. Structured Data • Not really tackled yet • For now:

    serialize and store as TEXT in RDMS
  10. Structured Data (2) • we already evaluated some solutions •

    great query language (AQL) • support for JOINS & Graphs
  11. Conclusion • focus on ease of use aspects • be

    pragmatic and think agile • pick the right tool for the job
  12. PostgreSQL • hstore: Key/Value • json & jsonb: JSON data

    • just use your existing tools • query via SQL, indexable, …