Best of DatabaseOctober 2024

  1. 1
    Article
    Avatar of communityCommunity Picks·2y

    ChartDB: From Zero to 1.5K GitHub Stars in 3 Days - Here’s How 🚀⭐️

    ChartDB, a revolutionary tool in database design, received 1.5K GitHub stars within 3 days of its launch. Created by Guy Ben-Aharon and his co-founder, its goal is to simplify database visualization for developers. Built in just three weeks, the project highlights the future of coding with tools like Code Cursor and Claude 3.5 Sonnet. Future plans include AI integration, community collaboration, and feature expansion.

  2. 2
    Article
    Avatar of collectionsCollections·2y

    Databases In-Depth – Complete Course

    A comprehensive course on database architecture and optimization, designed by Keerti Purswani and available on freeCodeCamp.org's YouTube channel. It covers transaction management, storage engines, advanced indexing techniques, an in-depth look at SQLite, and understanding MongoDB and PostgreSQL. Suitable for both beginners and experienced engineers, the course aims to equip learners with the skills to manage and optimize data systems efficiently.

  3. 3
    Video
    Avatar of dreamsofcodeDreams of Code·2y

    SQLc is the perfect tool for those who don't like ORMs

    SQLc is an efficient tool for developers who prefer writing raw SQL queries over using ORMs. It allows for type-safe SQL query generation, fitting neatly within the repository design pattern. SQLc supports multiple programming languages (TypeScript, Kotlin, Python, and Go) and SQL engines (Postgres, MySQL, SQLite). It eliminates boilerplate code, making database interactions more manageable and reusable across codebases. By using SQLc, developers can maintain full control over queries while ensuring type safety and reducing development time.

  4. 4
    Article
    Avatar of freecodecampfreeCodeCamp·2y

    How to Create Database Documentation Using dbdocs with DBML

    Database documentation is crucial for maintaining and scaling systems. This guide demonstrates creating database documentation using DBML and dbdocs. The step-by-step process includes installing the necessary CLI tools, exporting a database schema to DBML, editing the DBML file, and generating documentation with dbdocs. Benefits include simplicity, automation, collaboration, version control, and visualization.

  5. 5
    Article
    Avatar of logrocketLogRocket·2y

    Using the built-in SQLite module in Node js

    Node.js v22.5.0 has introduced a native SQLite module, albeit in an experimental phase. This module allows developers to create databases either in memory or in a specified file without requiring external dependencies. The post provides a comprehensive guide to using this built-in SQLite module, including building a simple to-do app with Express.js, bcrypt, and nanoid. While the module offers a lightweight, embedded database solution, it currently supports only synchronous queries and lacks custom build options and extensions. It highlights the module's ease of use compared to third-party packages like node-sqlite3 and better-sqlite3.

  6. 6
    Article
    Avatar of awegoAwesome Go·2y

    Writing raw SQL easier with pgx and sqlc in Go

    Combine pgx, a PostgreSQL driver and toolkit for Golang, with sqlc, a tool that generates type-safe Go code from SQL queries, to streamline database interactions. While ORMs can be limiting for complex queries, pgx and sqlc offer more control and type safety. Using sqlc for CRUD operations and simple queries, and pgx for more complex queries, provides a balanced approach. The post outlines how to set up and use these tools in a Go project.

  7. 7
    Video
    Avatar of wdsWeb Dev Simplified·2y

    Why You Should Replace Your Booleans With Timestamps

    Storing booleans as timestamps in databases offers benefits for debugging and analytics, such as knowing when certain actions occurred. However, it increases storage requirements significantly. This method is beneficial for enterprise applications but may not be necessary for smaller projects.

  8. 8
    Video
    Avatar of youtubeYouTube·2y

    Learn SQL Beginner to Advanced in Under 4 Hours

    This post provides a comprehensive SQL tutorial, covering everything from setting up the MySQL environment to fundamental and advanced SQL topics. It includes exercises on data selection, querying, data cleaning, and exploratory data analysis, with two practical projects at the end. The tutorial is designed for beginners and progresses to advanced topics such as CTEs and temp tables.

  9. 9
    Article
    Avatar of atomicobjectAtomic Spin·2y

    Optimize EF Core Database Query Performance

    In a project where PDFs were migrated from a Blob Storage container to a SQL Server database, the web app's performance dropped significantly. To address this, several strategies were used to optimize EF Core query performance: using AsSplitQuery to avoid data duplication, employing projections and DTOs for read-only data to retrieve only necessary columns, and creating indexes for frequently queried non-primary key fields. These optimizations led to a reduction in response times and overall improved performance.

  10. 10
    Video
    Avatar of communityCommunity Picks·2y

    MySQL vs PostgreSQL (Round 2) Performance Benchmark (Latency - Throughput - Saturation)

    Performance comparison between PostgreSQL and MySQL focusing on latency, throughput, and system resource usage. The benchmark simulates an e-commerce website managing customer and order data, with tests for INSERT, UPDATE, DELETE, and SELECT operations. Improvements include optimized settings for both databases and utilizing i3en EC2 instances. PostgreSQL outperforms MySQL in write-heavy operations, while read operations show smaller differences.

  11. 11
    Article
    Avatar of communityCommunity Picks·2y

    Why Running Databases on Kubernetes is Like Storing Critical Data on a Fragile Flash Drive

    Running databases on Kubernetes can be risky due to the potential for storage issues such as dangling Persistent Volumes (PV) and Persistent Volume Claims (PVC). The concept is likened to using a flash drive for critical data storage, with similar risks of data corruption and resource waste. The reliance on the CSI controller in Kubernetes can lead to data inaccessibility and manual recovery, making it less suitable for highly stateful, storage-intensive applications like databases.

  12. 12
    Article
    Avatar of golangnutsGo Developers·2y

    My First Golang API

    Introducing Landmark API, a Go-based RESTful API that allows users to manage and retrieve detailed information about landmarks globally. Features include JWT-based authentication, advanced querying, and different subscription tiers. The post covers the project's development process, challenges, and how to set it up locally. Key highlights include secure access, scalability, and extensive landmark data.

  13. 13
    Article
    Avatar of communityCommunity Picks·2y

    High Performance SQLite

    High Performance SQLite is a comprehensive video course by database educator @aarondfrancis designed to teach users how to effectively use SQLite in production environments. The course covers all essential aspects to ensure reliability, speed, and efficiency.

  14. 14
    Article
    Avatar of communityCommunity Picks·2y

    sqlmap: automatic SQL injection and database takeover tool

    sqlmap is an open source tool that automates detecting and exploiting SQL injection vulnerabilities to take over database servers. It supports a variety of database management systems and SQL injection techniques, allows direct database connections, and enables enumeration of database objects, password cracking, file upload/download, and executing commands on the database server's OS. Contributions and bug reports are encouraged, and donations are welcomed to support continued development.

  15. 15
    Article
    Avatar of awegoAwesome Go·2y

    A love letter to Golang

    The post highlights the author's journey with Golang and compares it with their previous experience in frontend development using React. They emphasize Go's simplicity, standardized solutions, and practical syntax which makes it easy for new developers to learn quickly. The post also touches on Go's efficient standard library, the ease of deployment, and the benefits of using Go in web development. Additionally, the author mentions upcoming courses and explains the advantages of using Templ for modern web apps.

  16. 16
    Article
    Avatar of simplethreadSimple Thread·2y

    Seeding a Postgres Database in GitHub Actions Without Storing SQL in GitLFS

    Setting up a Postgres database in a test environment usually avoids preloading data, but sometimes budget constraints require a workaround. To avoid using GitLFS for a large seed data file, compress it with `tar` and `gzip` before committing it to the repository. During the GitHub Actions workflow, decompress the file before running tests. If you encounter a 'no space left on device' error, increase the shared memory size (`shm-size`) to resolve the issue.

  17. 17
    Article
    Avatar of lnLaravel News·2y

    Optimize Your SQLite Database with the Laravel Optimize DB Package

    The Laravel Optimize DB package, created by Nuno Maduro, is designed to optimize SQLite databases (version 3.46 and above) for production in Laravel projects. It applies various settings via migrations and runtime configurations to enhance performance, including Write-Ahead Logging (WAL), increasing cache size, and memory mapping. These changes aim to improve concurrency, reduce disk I/O, and speed up file access. However, the package is still a work-in-progress and should be used cautiously in non-production environments.

  18. 18
    Article
    Avatar of supabaseSupabase·2y

    Live Share: When your database escapes your browser

    Live Share is a new feature for database.build (formerly postgres.new) that allows connecting to in-browser PGlite databases from outside the browser. This is accomplished by generating a unique Postgres connection string for use with any Postgres client. Database.build offers an AI-assisted sandbox for creating and querying Postgres databases using natural language and standard SQL. Users can drag-and-drop CSVs to generate tables automatically. A websocket-to-tcp proxy facilitates the connection, using pg-gateway to relay messages. PGlite supports single-client connections and has some limitations in protocol support and connection concurrency.

  19. 19
    Article
    Avatar of ubuntuUbuntu·2y

    What is a vector database?

    Vector databases organize data in the form of vectors, enabling efficient storage, indexing, and retrieval of unstructured data. They are essential in AI applications like natural language processing, computer vision, and automated speech recognition due to their ability to handle high-dimensional data and perform similarity searches. Using techniques such as approximate neighbour search and locality-sensitive hashing, vector databases offer high speed, scalability, and cost efficiency compared to traditional relational databases. They are particularly useful for applications like semantic search and personalized content recommendations.

  20. 20
    Video
    Avatar of webdevcodyWeb Dev Cody·2y

    You'll eventually need to learn eventual consistency

    Understanding eventual consistency is crucial in software engineering, especially when using solutions like AWS Aurora with multi-region setups. This concept allows for faster data access in different regions by using replicas but can result in users fetching stale data due to delayed replication. Being aware of these issues is important for building robust systems.

  21. 21
    Video
    Avatar of primeagenThePrimeTime·2y

    Level Up As A Developer

    To advance from an intern or junior developer to a midlevel or senior engineer, consider rebuilding existing projects to deepen your understanding. Recreate an HTTP server to learn more about how it works, or implement a small database to grasp its fundamentals. Follow Uncle Bob's advice: lead your career rather than letting your employer dictate your path.

  22. 22
    Article
    Avatar of lnLaravel News·2y

    Laravel MongoDB releases version 5.0

    Version 5.0 of Laravel MongoDB introduces several breaking changes that enhance alignment with Laravel's conventions. Key updates include ID aliasing, improved date handling, query results as objects, simplified model customization, and updated connection/logging mechanisms. Refer to the upgrade guide for handling these changes.

  23. 23
    Article
    Avatar of atomicobjectAtomic Spin·2y

    Understand Entity Framework LINQ-to-SQL Translations

    Entity Framework can present challenges, especially with LINQ queries. The post discusses a real-world scenario where translating a filter into a LINQ query caused issues, and explores attempts to refactor code to handle similar logic for different entity types. The proposed solutions face limitations due to Entity Framework's constraints on LINQ expression translation to SQL, highlighting the need for a careful approach to complex business logic in queries.

  24. 24
    Article
    Avatar of vladmihalceaVlad Mihalcea·2y

    High-Performance Java Persistence Newsletter, Issue 67

    This issue covers tools and articles for improving Java persistence performance. Highlights include the Hypersistence Optimizer for detecting JPA and Hibernate issues, tips on using B+Tree indexes and offset pagination, and the benefits of ProxySQL for database connection management. It also announces the release of Hibernate 6.6 with new features and updates on Hypersistence projects. Additionally, it includes information on upcoming training and the PostgreSQL 17.0 release with major enhancements.

  25. 25
    Article
    Avatar of dailydoseofdsDaily Dose of Data Science | Avi Chawla | Substack·2y

    Semi, Anti, and Natural Joins in DuckDB SQL

    The post introduces three additional types of SQL joins available in DuckDB: Semi Join, Anti Join, and Natural Join. It highlights the distinctions and use cases for each, such as Semi Join for checking record existence, Anti Join for finding non-matches, and Natural Join for a concise query without explicit join conditions. These joins offer more flexibility and elegance in SQL query writing.