理解Engine in Database

  • Overview

    Clickhouse,DolphinDB都对引擎做了专门介绍。

    那什么是引擎,引擎的作用原理又是什么?

    From Dr. Richard Hipp, the creator of SQLite, SQL is a peculiar programming language rather a query language, each SQL statement is a program, and SQL descibes what instead of how.

    An sql database engine consists of two parts:

    • Compiler

      The compiler takes your program which is a statement of sql and compiles it down into procedures they’re going to be run;

    • Virtual Machine

      The Virtual Machine actually runs the procedures.

  • Database Engine

    A database engine (or storage engine) is the underlying software component that a database management system (DBMS) uses to create, read, update and delete (CRUD) data from a database.

    The term “database engine” is frequently used interchangeably with “database server” or “database management system”.

    The storage engine (or database engine) is a software component of a database management system responsible for storing, retrieving, and managing data in memory and on disk, designed to capture a persistent, long-term memory of each node.

  • Design considerations

    Information in a database is stored as bits laid out as data structure in storage that take can be efficiently read from and written to given the properties of hardware.

  • Data structures

    A data structure is an abstract construct that embeds data in a well defined manner.

    Common data structures:

    1. Orderd/unordered flat files
    2. hash tables
    3. B+ trees
    4. ISAM
    5. heaps
  • MySQL engine

    Database engine provide the underlying functionality for MySQL to work with and process data.

  • References

  1. Dr. Richard Hipp: How SQL Database Engines Work
  2. Working with MySQL database engines
  3. What is a good book on implementing a Relational Database?
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值