Advertisement
Advertisement

More Related Content

Similar to Build Low-Latency Applications in Rust on ScyllaDB(20)

Advertisement

Build Low-Latency Applications in Rust on ScyllaDB

  1. Piotr Grabowski - Software Team Lead, ScyllaDB Felipe Cardeneti Mendes - Solutions Architect, ScyllaDB Virtual Developer Workshop Build Low-Latency Applications in Rust on ScyllaDB
  2. + For data-intensive applications that require high throughput and predictable low latencies + Close-to-the-metal design takes full advantage of modern infrastructure + >5x higher throughput + >20x lower latency + >75% TCO savings + Compatible with Apache Cassandra and Amazon DynamoDB + DBaaS/Cloud, Enterprise and Open Source solutions The Database for Gamechangers 2 “ScyllaDB stands apart...It’s the rare product that exceeds my expectations.” – Martin Heller, InfoWorld contributing editor and reviewer “For 99.9% of applications, ScyllaDB delivers all the power a customer will ever need, on workloads that other databases can’t touch – and at a fraction of the cost of an in-memory solution.” – Adrian Bridgewater, Forbes senior contributor
  3. 3 +400 Gamechangers Leverage ScyllaDB Seamless experiences across content + devices Digital experiences at massive scale Corporate fleet management Real-time analytics 2,000,000 SKU -commerce management Video recommendation management Threat intelligence service using JanusGraph Real time fraud detection across 6M transactions/day Uber scale, mission critical chat & messaging app Network security threat detection Power ~50M X1 DVRs with billions of reqs/day Precision healthcare via Edison AI Inventory hub for retail operations Property listings and updates Unified ML feature store across the business Cryptocurrency exchange app Geography-based recommendations Global operations- Avon, Body Shop + more Predictable performance for on sale surges GPS-based exercise tracking Serving dynamic live streams at scale Powering India's top social media platform Personalized advertising to players Distribution of game assets in Unreal Engine
  4. Presenters 4 Felipe Cardeneti Mendes Felipe Mendes is an IT Specialist with years of experience with Linux. In ScyllaDB, he works as a Solutions Architect. Piotr Grabowski Piotr is a Software Team Leader responsible for ScyllaDB drivers (including ScyllaDB Rust Driver) and Kafka connectors.
  5. Agenda ● Background: Why Rust, why ScyllaDB? ● The ScyllaDB Rust driver ○ History ○ Future ● The Rust sample app walkthrough ● Connecting our sample app to ScyllaDB Cloud
  6. IOT Rust Application Setup $ git clone https://github.com/fee-mendes/rust-driver-example.git $ cd rust-driver-example/docker-compose $ docker-compose up -d $ docker exec -it rust-app /bin/bash Minimum requirements: - Linux, macOS, Windows - On Windows you might need to adjust Docker network settings - Docker installed and setup - Quadcore CPU - 2 GB of memory available Join the #rust-driver channel on ScyllaDB Slack and our Community Forum to discuss any issues or questions you might have.
  7. Low latency, close to hardware schedulers Perfect horizontal & vertical scale 7 1000 Nodes Cluster 2000 Cluster K8S Deployment 60TB per Node 256 Cores per Node 1B Operations per Second About ScyllaDB: Fast and Scalable
  8. 8 Poll: How proficient are you with the Rust language?
  9. + The idea was born during a hackathon in 2020, over the last 3 years we continued the development + In 2020, the Rust ecosystem provided only a limited selection of drivers for ScyllaDB + Uses Tokio framework + The driver is now feature complete, supporting many advanced features: + Shard awareness + Asynchronous interface with support for large concurrency + Compression + All CQL types + Speculative execution + TLS support ScyllaDB Rust Driver
  10. + Asynchronous, non-blocking runtimes + Tokio: Most widely used Rust runtime + Seastar: C++ runtime for ScyllaDB + Fast, flexible, and reliable + Scalable, allows high concurrency and low latency + Green and sustainable Why Rust? Why Tokio? Why ScyllaDB? Rust Driver ScyllaDB
  11. ScyllaDB Rust Driver History
  12. ScyllaDB Rust Driver History
  13. + This year so far (version 0.8): + Load balancing refactor, bringing better performance + Execution profiles + Rack-aware load balancing policy + Many small improvements/bug fixes + Next releases: + 1.0.0 release: + Stabilising the API of the driver + Deserialization API improvements - better performance + More performance improvements ScyllaDB Rust Driver: Future
  14. ScyllaDB Rust Driver: Future ScyllaDB C++ Driver C++ Driver Core C/C++ API ScyllaDB C++-Rust Driver Rust Driver C/C++ API
  15. Let’s Code 15
  16. IOT Application Overview Metric Collector Metric Reader UUID Finder Write to ScyllaDB in parallel Deploy schema (ks/tables) Generate data: 100 devices 3 days Every 5 minutes Device metrics aggregator Analytics sample Split token-ring in small parts: Efficient full table scan token() function usage BYPASS CACHE Single device queries Real-time sample Partition scan: MAX(), AVG(), MIN() Range queries Date/Time handling
  17. ScyllaDB Cloud 17
  18. Poll: What databases do you use (or are planning to use) for Rust Apps? 18
  19. Q&A How Numberly Replaced Kafka with a Rust-Based ScyllaDB scylladb.com/blog October 18 + 19, 2023 p99conf.io ScyllaDB Labs Building High-Performance Apps June 27, 2023 scylladb.com/events
  20. Thank you for joining us today. @scylladb scylladb/ slack.scylladb.com @scylladb company/scylladb/ scylladb/
Advertisement