Khoá học thiết kế Database bằng PostgreSQL

PostgreSQL là một hệ thống quản trị cơ sở dữ liệu quan hệ – đối tượng (object-relational database management system) có mục đích chung, hệ thống cơ sở dữ liệu mã nguồn mở tiên tiến nhất hiện nay.

Học miễn phí ngay

Khi nào sử dụng PostgreSQL?

PostgreSQL tuân theo tiêu chuẩn SQL nhưng không mâu thuẫn với các tính năng truyền thống hay có thể dẫn đến các quyết định kiến trúc gây hại. Nhiều tính năng theo tiêu chuẩn SQL được hỗ trợ, tuy nhiên đôi khi có thể có cú pháp hoặc hàm hơi khác một chút.

Đối tượng tham gia phù hợp

  • Các bạn Học sinh – Sinh viên có đam mê lập trình
  • Các bạn đang đi làm ở lĩnh vực khác muốn học về lập trình
  • Các bạn đã có tìm hiểu về lập trình, nhưng muốn hệ thống khoá kiến thức lại

PostgreSQL Roadmap

Step-by-step guide to learning PostgreSQL in 2024

Phần I

1. Introduction
  • What are Relational Databases?
  • RDBMS Benefits and Limitations
  • PostgreSQL vs NoSQL Databases
  • PostgreSQL vs Other RDBMS
3. Object Model
  • Databases
  • Tables
  • Schemas
  • Rows
  • Columns
  • Data Types
  • Queries
4. Relational Model
  • Domains
  • Attributes
  • Tuples
  • Relations
  • Constraints
  • NULL
5. High Level Database Concepts
  • ACID
  • MVCC
  • Transactions
  • Write-ahead Log
  • Query Processing
6. Installation and Setup
  • Managing Postgres
    • Using `systemd`
    • Using `pg_ctl`
    • Using `pg_ctlcluster`
  • Using Docker
  • Package Managers
  • Connect using `psql`
  • Deployment in Cloud
7. Learn SQL
  • DDL Queries
    • For Schemas
    • ForTables
    • Data Types
  • DML Queries
    • Querying Data
    • Filtering Data
    • Modifying Data
    • Joining Tables
  • Import / Export Using `COPY`
  • Advanced Topics
    • Transactions
    • Subqueries
    • Grouping
    • CTE
    • Lateral Join
    • Set Operations

Phần II

8. Configuring
  • Reporting Logging & Statistics
  • Adding Extra Extensions
  • Resource Usage
  • Write-ahead Log
  • Vacuums
  • Replication
  • Query Planner
  • Checkpoints / Background Writer
9. Security
  • Authentication Models
  • Roles
  • pg_hba.conf
  • SSL Settings
  • Advanced Topics
    • Row-Level Security
    • SELinux
  • Object Priviliges
    • Grant / Revoke
    • Default Priviliges
11. Learn to Automate
  • Shell Scripts
  • Any Programming Language
  • DevOps Roadmap
  • Ansible
  • Salt
  • Puppet
  • Chef
12. Application Skills
  • Migrations
    • Practical Patterns / Antipatterns
    • Migration Related Tools
  • Data and Processing
    • Bulk Loading / Processing Data
    • Data Partitioning
    • Sharding Patterns
    • Normalization / Normal Forms
  • Queues
    • Patterns / Antipatterns
    • PgQ
13. Low Level Internals
  • Processes & Memory Architecture
  • Vacuum Processing
  • Buffer Management
  • Lock Management
  • Physical Storage and File Layout
  • System Catalog
14. Fine-grained Tuning
  • Per-User, Per-Database Setting
  • Storage Parameters
  • Workload-Dependant Tuning
    • OLTP
    • OLAP
    • HTAP

Phần III

15. Advanced SQL
  • PL/pgSQL
  • Procedures and Functions
  • Triggers
  • Recursive CTE
  • Aggregate and Window functions
16. Troubleshooting Techniques
  • Operating System Tools
  • Log Analysis
  • Profiling Tools
  • Query Analysis
  • Posgres Tools
  • Posgres System Views
  • Techniques
17. SQL Optimization Techniques
  • SQL Query Patterns / Anti-patterns
  • Schema Design Patterns / Anti-patterns
18. Indexes and their Usecases
  • B-Tree
  • BRIN
  • GiST
  • Hash
  • SP-GiST
  • GIN
19. Get Involved in Development
  • Mailing Lists
  • Reviewing Patches
  • Writing Patches
Fine-grained TuningPostgreSQLFind the detailed version of this roadmapalong with other similar roadmapsroadmap.shIntroductionWhat are Relational Databases?RDBMS Benefits and LimitationsPostgreSQL vs Other RDBMSPostgreSQL vs NoSQL DatabasesBasic RDBMS ConceptsObject ModelQueriesData TypesRowsColumnsTablesSchemasDatabasesRelational ModelDomainsAttributesTuplesRelationsConstraintsNULLHigh Level Database ConceptsACIDMVCCTransactionsWrite-ahead LogQuery ProcessingUsing DockerPackage ManagersConnect using `psql`Deployment in CloudManaging PostgresUsing `systemd`Using `pg_ctl`Using `pg_ctlcluster`Installation and SetupLearn SQLDDL QueriesFor SchemasForTablesData TypesDML QueriesQuerying DataFiltering DataModifying DataJoining TablesImport / Export Using `COPY`TransactionsSubqueriesGroupingCTELateral JoinSet OperationsAdvanced TopicsConfiguringResource UsageWrite-ahead LogVacuumsReplicationQuery PlannerCheckpoints / Background WriterReporting Logging & StatisticsAdding Extra ExtensionsFollowing postgres.conf configurationSecurityObject PriviligesGrant / RevokeDefault PriviligesAdvanced TopicsRow-Level SecuritySELinuxAuthentication ModelsRolespg_hba.confSSL SettingsInfrastructure SkillsUsing `pg_upgrade`Using Logical ReplicationSimple Stateful SetupHelmOperatorsPostgreSQL AnonymizerHAProxyConsulKeepAlivedEtcdPrometheusZabbixcheck_pgactivitytemBoardcheck_pgbackrestbarmanWAL-Gpgbackrestpg_probackuppg_dumppg_dumpallpg_restorepg_basebackupBackup Validation ProceduresPgBouncerPgBouncer AlternativesConnection PoolingLogical ReplicationStreaming ReplicationReplicationAnonymizationUpgrade ProceduresCluster ManagementPatroniPatroni AlternativesKubernetes DeploymentMonitoringLoad Balancing / DiscoveryBackup & Recovery Tools3rd PartyBuiltin ToolsResource Usage / Provisioning / Capacity PlanningLearn to AutomateShell ScriptsAny Programming LanguageConfiguration ManagementAnsibleSaltChefPuppetMigrationsPractical Patterns / AntipatternsMigration Related ToolsBulk Loading / Processing DataData PartitioningSharding PatternsNormalization / Normal FormsQueuesPatterns / AntipatternsPgQData and ProcessingApplication SkillsAdvanced TopicsLow Level InternalsProcesses & Memory ArchitectureVacuum ProcessingBuffer ManagementLock ManagementPhysical Storage and File LayoutSystem CatalogPer-User, Per-Database SettingStorage ParametersWorkload-Dependant TuningOLTPOLAPHTAPPL/pgSQLProcedures and FunctionsTriggersRecursive CTEAggregate and Window functionsAdvanced SQLTroubleshooting TechniquesOperating System ToolstopsysstatiotopProfiling Toolsgdbstraceebpfperf-toolsCore DumpsLog AnalysispgBadgerpgCluuawkgrepsedPosgres System Viewspg_stat_activitypg_stat_statementsPosgres ToolspgcenterQuery AnalysisEXPLAINDepeszPEV2Tenserexplain.dalibo.comTechniquesUSEREDGolden SignalsSQL Optimization TechniquesSchema Design Patterns / Anti-patternsSQL Query Patterns / Anti-patternsIndexes and their UsecasesB-TreeHashGiSTSP-GiSTGINBRINGet Involved in DevelopmentMailing ListsReviewing PatchesWriting PatchesRelated RoadmapsMongoDB RoadmapBackend RoadmapVisit the following relevant roadmapsMongoDBBackendDevOps Roadmap

Tất cả khoá học tại Sigma Academy