NOSQL

NOSQL Databases MongoDB FerretDB - MongoDB Interface with underlying PostgreSQL as database engine Amazon DynamoDB Data Modelling in DynamoDB Must follow Twitter handle of Rick Houlihan Best Practices for Secondary Indexes with DynamoDB Apache Cassandra 7 mistakes when using Apache Cassandra Apache Geode How Mastercard fights fraud with Apache Geode Apache Pinot Pinot- Enabling Real-time Analytics @ linkedin Redis About Redis DragonflyDB - Alternative to Redis Redis High Availability Redis Cluster KeyDB is a high performance fork of Redis with a focus on multithreading, memory efficiency, and high throughput. In addition to multithreading RediSQL, fastest, simplest, in-memory SQL Redisearch - Redis powered Search Engine JuiceFS - POSIX File System with Redis or S3 as backend SSDB - A fast NoSQL database, an alternative to Redis Comparing REDIS and Memcached Oracle Coherence Oracle Coherence Community Edition Full text Search Engines Deep Dive into Querying Elasticsearch. Filter vs Query. Full-text search Engine for Low-latency Computation over large data sets Open source Full text Search Engine Sonic - Fast, lightweight & schema-less search backend

February 7, 2020 · 1 min · Sachin Sunkle

MySQL

MySQL Links Query analytics for the day-to-day developer with MySQL 8.0 Schema Change Management for MySQL Temporal Data tables in MariaDB MySQL 8.0 Indexes, Histograms, and Other Ways to Speed Up Your Queries Maxwell - MySQL to Kafka change data capture LetsEncrypt setup for MariaDB How LetsEncrypt has built Next Gen Database Servers 18 things you can do to remove mysql Bottlenecks due to High traffic MySQL from Developer’s perspective Replication in MySQL Interesting libraries, extensions Distributed job-queue built specifically for queuing and executing heavy SQL read jobs asynchronously. Supports MySQL and Postgres Orchestrator - Replication topology and high availability Vitess,a Distributed MySQL Massively scaling MySQL database How Slack uses Vitess

February 7, 2020 · 1 min · Sachin Sunkle

Databases

Database Knowledge base around general database related topics. General Links Which Data Architecture to choose Prisma’s Data Guide - A growing library of articles focused on making databases more approachable. Query optimization guide Database performance for Developers Heimdall data -Database scale-out without Application changes Database of databases Modern SQL in databases Eventual consistency by Werner Vogels Amazon Aurora ascendant: How we designed a cloud-native relational database - All Things Distributed Options for scaling from 1 to 100,000 tenants Amazon Aurora: design considerations for high throughput cloud-native relational databases | the morning paper NOSQL - Key Points Criteria for Choosing Data store Building Real Time Analytics APIs at Scale Streaming Database Changes with Debezium Why you should pick strong consistency, whenever possible Change Data Capture, Outbox and Event Sourcing Debezium Engine - setup without Apache Kafka Debezium without kafka connect Using Streamsets for CDC From Oracle to Other destinations Transactions in Google Spanner Things I Wished More Developers Knew About Databases Interactive Book about SQL SQL Interview Questions Hadoop or Laptop The lightweight, distributed relational database built on SQLite Optimizing SQL Queries, Regardless of Platform How to do Data Modelling the right way Primer on Database Replication Connection pool sizing for databases Some SQL tricks from Application DBA Best Practices while writing SQL Using checksums to verify syncing 100M database records How to populate a table with 1 million records using single query How databases optimize Sub-queries Approaches to database migration Tigetbeetle - Fast financial accounting database Opinionated thoughts on SQL Databases Tools Collection DBMS Tools OctoSQL - Query, Join CSV with Postgresql/mysql from Command line TSBS - tool to benchmark bulk load performance and query execution performance. Goose - Database schema migrations HammerDB - Benchmarking Suite for databases Sysbench - Scriptable database and system performance benchmark Soda core - Data schema checks, for Quality, as code Readyset - MySQL and Postgres wire-compatible caching layer that sits in front of existing databases to speed up queries and horizontally scale read throughput. Data Analytics Understanding avro, parquet and ORC Guidance on Data Visualizations Simple data pipeline Powertools Cube.dev - Open source Headless BI platform Evidence.dev - BI as Code - SQL + Markdown to generate Reports Apache spark defined Getting started with Spark in Python About Data Mesh Architecture Data mesh vs. Data Fabric Emerging Architectures for Modern Data Infrastructure Data Visualization/Exploration platforms Comparion Matrix Supercharging Apache Superset Snowplow - Cloud Native Behavioral data engine (e.g. User Analytics) Redash - Collaboration, dashboards Why data culture matters Designing a data transformation that delivers value right from the beginning List of Computational Data Analysis Workflow Systems Data Visualization framework for Python Analytics Academy by Segment Analytics Whitepapers by Sisense SQL Analytics Training A Beginner’s Guide to Data Engineering - 3-part series Chart types and its usage Rudder - Open source Customer Data Infrastructure Catalog of Widgets for Data Visualization Open source OLAP Database Modern Data stack guide by Castor Data Stack of 1mg A Unified Data Infrastructure Architecture Data and AI Product Landscape Transformations for DWH using DBT Awesome list of Business Intelligence Tools Article Series on Open source Data Analytics Stack (Postgres,Meltano, Airflow, dbt and Superset) Posthog - open source product analytics platform Typical Analytics Stack Flat Data - Scheduled Data Download on GitHub Actions in Repository and visualization Nocodb - Turn *MySQL/PostgreSQL data in smart Spreadsheet Real time data analysis with Apache Pinot and kafka UUIds are bad for performance Noria - Caching and updating Relational query results Differential Datalog - Language for incremental computation Using NanoIDs (not longer UUID) for public APis In-memory Databases Dragonfly - Compatible with REDIS Duck DB DuckDB - Embeddable OLAP DBMS SQL Workbench - run Duckdb on WASM DuckDB - Connect and join on external databases Using duckdb and postgres together ETL,ELT, Database-as-a-queue, Evolutionary Practices All about ETL Airbyte-Open source ELT Database CI/CD practices using Redshift Awesome Apache Airflow A Python library for building data applications: ETL, ML, Data Pipelines, and more. A modern data workflow platform Databus - Change Data capture System from Linkedin Dolt - Git for Data GridDB - next generation database for IoT & big data with both NoSQL interface & SQL Interface. Compressing data with Parquet Lance - alternate columnar, compressed format for ML Mara pipelines - Opinionated ETL framework Enso - Interactive Data Workflow builder with no coding Database for Event Sourcing What are Data Contracts Centrifuge - Database as a Queue Database scaling Database Hardware Selection Scaling TIDB to 1 million QPS Sharding a database MySQL Sharding at Quora CUID-Collision-resistant ids optimized for horizontal scaling and performance. Data Discovery OpenMetadata - Data Discovery, Lineage, Data Quality Evaluation of Data Discovery Platforms Data Discovery at Shopify Great Expectations - Data Documentation and Profiling tool Database Migration Practices Zero downtime database migrations Stripe - Database Online migration at scale using dual writes How big companies migrate from one database to another without losing data i.e database independent? Efficiently diff rows across two different databases. Metadata Management Growing importance of Metadata Management Systems SQLite Scaling SQLite to 4M QPS on a single server (EC2 vs Bare Metal) Query against multiple SQLite databases using ATTACH Command Online SQLite Fiddle Why you should be using SQLITE(2023) Performance tuning settings Pocketbase - SQlite database with Go-based Wrapper to expose API Scaling SQLITE to 4M QPS on Single Server Streaming S3 Replication for SQLite lightweight, distributed relational database built on SQLite Interesting use cases for SQLITE Hosting SQLite databases on Github Pages Joining CSV and JSON data with an in-memory SQLite database Baked Data Architecture Pattern -DB side by side Web App Cron based backups for SQLITE Data Security, GDPR Tool for Sensitive Data Detection from Capital one Data bunker - Secure storage for personal records built to comply with GDPR Search Google Code Search using Inverted Index Open source Google Code Search tool in Go Manticore Search - easy to use open source fast database for search ZincSearch - lightweight alternative to ElasticSearch Why OpenSearch, fork of ElasticSearch Peer to peer web search and Intranet Search Appliance Get Started with Opensearch Capacity Planning About Oracle Capacity Planning Guidelines for SQL Server Capacity Planning Database Documentation [Schema spy - ER Diagram, Metadata Reports][https://github.com/schemaspy/schemaspy] Data Engineering Concepts Choosing a Data Catalog Awesome Data Catalog Create a Serverless Data Lake on AWS and Migrate your On-Prem Data to it Data Engineering How tos- List of Curated Articles/Videos Guide to Data lake, Data lake house Data Lake - Solution Patterns What is delta lake house? Poor man’s Data lake with Duckdb Data Model for Managing Collaborative Editing of Data Data platform playbook Dictionary of databases Database of Databases

February 7, 2020 · 6 min · Sachin Sunkle

Programming Languages - .NET

Microsoft .NET Platform where i have spent most time till now. General Links What is .NET Aspire Compared to Dapr What is .NET? by Scott Hanselman Async in Depth Using Async/Await in WCF or ASMX with AsyncEx Comparing Async/Await with GoRoutines .NET Presentations - Events in a Box Building Microservices in .NET Materialized View Pattern for Cross Service Queries Oracle DB and .NET - Optimizing Real-World Performance with Static Connection Pools Clean Code concepts and tools adapted for .NET Multiple ways how to limit parallel tasks processing Parallel programming in .NET Clean Architecture in .NET You’re (probably still) using HttpClient wrong and it is destabilizing your software Async/Await - Guidance & Best Practices in Asynchronous Programming Async/Await - Deep dive for Windows based Async I/O One more look at why Async/Await, what happens underneath Implement a producer-consumer dataflow pattern Use Arrays of Blocking Collections in a Pipeline Performance related Web forms, Asynchronous operations and its performance impact List of Awesome Resources Using System.Diagnostics.StopWatch.GetTimeStamp for accurate duration C# Job Queues with TPL Dataflow and Failure Handling Know about Threadpool, types of Threads in CLR and changing them to improve performance Work flow of diagnosing memory performance issues ***Contention, poor performance, and deadlocks when you make calls to Web services from an ASP.NET application .NET GC - Memory fundamentals Debug high CPU usage in .NET Core Measure performance of High frequency events in .NET Core App .NET Core debug memory leak, High CPU Usaege, Deadlock TCP Connection Pool and how it works in .NET Framework/.NET Core Using max number of worker threads using Semaphore Performance tuning for .NET Core API A light-weight REST API development framework for ASP.NET 6 and newer. Starter kit .NET Core Starter kit ASP.NET Web forms What not to do in ASP.NET, and what to do instead Use Task.Run at the invocation, not in the implementation Take Advantage of ASP.NET Built-in Features to Fend Off Web Attacks Blazor for Web Form Developers Windows Forms Task.run vs. BackgroundWorker Tools, Libraries Coravel - In-memory Task Scheduling , Queueing Library Generate PDF using Scriban and Playwright .NET Playground RestSharp - REST HTTP Client Ocelot - API Gateway AsyncAwaitBestPractices Flurl Distributed transaction solution in micro-service base on eventually consistency, also an eventbus with Outbox pattern Simple Swiss Army knife for http/https troubleshooting and profiling Event sourcing using variety of stores like AMQP, database Feature Management library for ASP.NET Core General Checklist for Projects Open Source ing tool for .NET Core/.NET Framework that helps your application generate document-like reports Open source database, Optimized for Event sourcing bflat - No-frills, standalone compiler for .net Hashids.NET - Generate Youtube-like hashes (short codes) from one or more numbers Rate Limiting Library from Microsoft Task Queue/Scheduling tools Hangfire Tempus Background tasks with hosted services in ASP.NET Core Rebus - Smart end-points, dumb pipes service bus for .net Rules, workflow Workflow-core-Lightweight workflow engine for .NET Standard Rules Engine - A Json based Rules Engine with extensive Dynamic expression support from Microsoft .NET Core Approach for Incremental Migration from ASP.NET to ASP.NET Core .NET Portability Analyzer ASP.NET Core Architecture Overview ASP.NET Core Performance Best Practices Diagnosing Issues Under Load Of WebAPI App Migrated To ASP.NET Core On Linux Model binding in ASP.NET core HttpClient Connection Pooling in .NET Core An Introduction to System.Threading.Channels Working with Channels With Stephen Toub BackgroundService Gotcha: Application Lifetime AWS Porting Assistant for .NET Sample of Micro services in .NET Core CoreWCF (SOAP,TCP, WS-HTTP support) on .NET Core ASP.NET Web API Versioning Samples of ASP.NET Core you can use Step by Step OpenTelemetry in .NET Core Techempower performance benchmarks Security OWASP - Top Ten Vulnerabilities Microsoft RESTler-Security testing using Automated Fuzzing Security Code Scan in .NET Networking .NET 5 Networking Improvements Understanding WebRequest Problems and Exceptions Twitter Handles Scott Hanselman General .NET Conf 2021 Videos, Slides etc. Nuke - Alternate (to MSBUILD) Build system for .NET Design patterns implementations in C#

February 7, 2020 · 4 min · Sachin Sunkle

Programming Languages - Go

Go Language My current Favorite Language Articles, E-books About Go - Compiler, packaging etc. When (and when not to) to use Generics in Go Ver. 1.8 High performance GO Workshop Learnings from Production usage of Go Thoughts on Go performance optimization Effective Go Handling 1M websockets connections in Go Notes on Go language Standard Go Project Layout 10 things you (probably) don’t know about Go Useful patterns in Go Interesting ways of using Go channels How i writer web services in Go Embed static file(s) in Go Executable and expose over HTTP Using go:embed in Go 1.16 Go Useful patterns by Roberto Clapis Strategies for Working with Message Queues Continuous build & Testing using Go Convey Why American Express chose Go Thoughts on Performance Optimizations in Go by Damian Gryski Quick list of performance improvement targets in Go 10 things you probably don’t know about Go Learn Go with test-driven development Cancellable Pipelines in Go Running Go binary in Docker Go for Cloud - Tips and Techniques Why and what to instrument in Go Web Apps Continuous Profiling of Go programs How I write HTTP services in 2024 Go Concurrency - Singleflight, Bounded concurrency, Weighted bounded concurrency Why you should be using errgroup withcontext in Golang WebAssembly in Go gRPC in Go Go: Discovery of the Trace Package Tracing in production for Latency Rust for Go Developers Rust vs Go - When to use which Example of how to let only one Goroutine do the task while letting others wait for it useful in case of reading data from DB to be cached How to leverage AWS Lambda timeouts with Go context cancellation Design philosophy TLS and Go Effectively using Systemd for setting up HTTP Server Useful Code patterns Streams onboarding plan for using Go in 10 weeks Libraries, Tools HTMX + Go in single binary Staticcheck - The advaned Go linter Scripting with Go Right way to check weather Generate Go Code for Database / SQL for Mysql and PostgreSQL Why SQLc is better approach than ORM Golang style guide by Uber ORM to Model and Traversal of Data as a Graph structure Gops-A tool to list and diagnose Go processes currently running on your system Pocketbase - SQlite database with Go-based Wrapper to expose API Wails - Electron like environment in Go Visualize call graph of a Go program using dot (Graphviz) Semgrep - Lightweight static code analysis focussed on Security Draw Application diagrams using Go A Go metrics interface with fast buffered metrics and third party reporters Hey - HTTP load generator, ApacheBench (ab) replacement Go-metrics - library for exporting performance and runtime metrics to external metrics systems (i.e. statsite, statsd) Progressive Web App (PWA) with WebAssembly in Go GoPlus - The Go+ language for data science Notes on Profiling in Go Go-Micro - Web and RPC Framework for Microservices in Go Approach on project Structure in Go Zero Allocation JSON logger Use Makefile with Go Review of HTTP Routers Library over Financial Markets i.e. Yahoo Finance etc. Excelsize - pure Go library providing a set of functions that allow you to write to and read from XLSX / XLSM / XLTM / XLTX files Benthos - Simplified stream processing with built-in connectors Service weaver - Write Modular Monolith Apps Xo - Tool to Generate DB Specific Go Code Learning Learn go with tests Task queues Queueing with Update..skip locked Machinery - Asynchronous task queue/job queue Bleve - Full text Search Engine Event Sourcing, pub/sub using AMQP/SQL/Channels Hydra - OAuth 2.0 Server Temporal - Scalable orchestration platform Distributed job-queue built specifically for queuing and executing heavy SQL read jobs asynchronously. Supports MySQL and Postgres. Tunny - Library to manage pool of goroutines to limit incoming work Scheduler library for Go Web scraping, downloader Elegant Scraper and Crawler Framework for Golang Fast, simple and clean video downloader Videos, Talks Best practices for Industrial Programming - by Peter Bourgon Profiling & Optimizing in Go Rethinking classical Concurrency patterns Justforfunc: Programming in Go A Channel Compendium Visualize Concurrency in Go Real-world systems in Go Host Free Go Web app on Netlify Zen of Go - Ten engineering values for writing simple, readable, maintainable Go code [Ultimate Go Study Guide](https://githu b.com/hoanhan101/ultimate-go) Code snippets Web Service in Go - Code with Best practices Remote service with Retries Curated list of design patterns implemented in Go Gophercises - Exercises for Go Developers Practical concurrency guide in Go, communication by channels, patterns Sample DDD Project with Code Podcasts Go Time Performance Analysis Example of Performance analysis of Go Program using benchmarks

February 7, 2020 · 4 min · Sachin Sunkle