Skip to content

invokify/go-practice-database

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

go-practice-database

A clean database client implementation:

  • implementing migrations
  • generating CRUD operations code using SQLC
  • handling transactions
  • preventing deadlocks

Reference: Tech School

Get Started

  1. Launch Postgres database using Docker
make postgres
  1. Create the database
make createdb
  1. Apply schema migration
make migrateup

Isolation Levels

MySQL

READ UNCOMMITED READ COMMITED REPEATABLE READ SERIALIZABLE
DIRTY READ X X X
NON-REPEATABLE READ X X
PHANTOM READ X X
SERIALIZATION ANOMALY X
  • 4 isolation levels
  • Locking Mechanism
  • Repeatable read

Postgres

READ UNCOMMITED READ COMMITED REPEATABLE READ SERIALIZABLE
DIRTY READ X X X X
NON-REPEATABLE READ X X
PHANTOM READ X X
SERIALIZATION ANOMALY X
  • 3 isolation levels
  • Dependencies detection
  • Read commited

💡 To keep in mind: There might be errors, timeout or deadlock > RETRY MECHANISM

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published