Skip to content

Commit

Permalink
update sql docs
Browse files Browse the repository at this point in the history
  • Loading branch information
fengzhao committed Nov 28, 2024
1 parent f30411b commit a860d8a
Show file tree
Hide file tree
Showing 2 changed files with 58 additions and 0 deletions.
7 changes: 7 additions & 0 deletions nginx/1.nginx入门.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,13 @@ Dounin的举措非常重要,因为它代表了开发者主导项目和维护



angie 是由原NGINX团队的核心成员创建的新型Web服务器和反向代理服务器(core 还是基于了nginx) 同时提供了以下周边扩展:

- 集成了proemtheus(内置):自己开发了可以方便监控
- 提供了一个console:基于angie 的api 提供了console 管理



针对我们日常工作学习来说,选择官方开源版的 Nginx 或者 OpenResty 就可以了。

### Nginx 版本策略
Expand Down
51 changes: 51 additions & 0 deletions 数据库内核杂谈/1.内核.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
# 实现



当用户创建一个新的数据库,并导入数据时,数据库系统就需要存储这些数据。

说到存储,第一个想法就是文件系统(其实说到底数据库系统就是一个特殊的文件系统,区别与普通文件系统提供的的读写文件的接口,数据库只是提供了一个面向数据的接口:存储,读取和查询;整个系统为这些接口提供服务)。要怎么把这张表存在文件中呢?



什么是 .csv 文件?CSV 是逗号分隔值的意思。CSV 文件是一个存储表格和电子表格信息的**纯文本文件**,其内容通常是一个文本、数字或日期的表格。

CSV 文件可以使用以表格形式存储数据的程序轻松导入和导出。

通常 CSV 文件的第一行包含表格的列标签。随后的每一行代表表格的一行。逗号分隔行中的每个单元格,这就是名称的由来。

```
name, id, favorite food
quincy, 1, hot dogs
beau, 2, cereal
abbey, 3, pizza
mrugesh, 4, ice cream
```





读取 CSV 文件的逻辑也非常简单: 一行一行读取数据,然后根据";"把每个数据段取出。





专业数据库肯定不会选择用 CSV 或 JSON 作为默认存储,但几乎都支持 CSV 和 JSON 数据作为 `external table`

如果要追求更高的性能,我们可以选择更高效的编码方式把数据以字节流的形式存储在文件中;只要数据库系统自身能够读取这些数据即可。



**只要有一个文本编辑器,能够创建和编辑 CSV 或者 JSON 文件。这其实这已经完成了创建数据表,输入,修改以及存储数据的功能。**





## 存储演进



数据库是用来存储海量数据的。存储如此大量的数据,自然而然想到的就是以文件的形式存储在硬盘(HDD 或 SSD)中。当然,一些商用数据库为了追求性能,是将数据优先存储在内存中(比如 SAP 的 HANA 和 MemSQL)来获得更高速的读写。本文主要涉及的是关系型数据库针对硬盘的存储。对于内存数据库来说,依然需要硬盘作为备份或者 2 级存储,所以相关知识也是适用的。

0 comments on commit a860d8a

Please sign in to comment.