数据库(二)
source link: http://antkillerfarm.github.io/database/2020/03/19/database_2.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
数据库(二)
2020-03-19
Cache(续)
https://mp.weixin.qq.com/s/q-R7kv4696LooHy3Hn-H1A
分布式系统关注点——缓存背后的“毁灭种子”
https://mp.weixin.qq.com/s/cUBSOGFfkWNu91r9agXszQ
高并发系统三大利器之缓存
https://mp.weixin.qq.com/s/NdnE4uiT_b7omDx_uBGAtg
你可以说一下缓存击穿、穿透、雪崩的区别和解决方法吗?
https://mp.weixin.qq.com/s/QgFbw5thvip2txUJZNQqCA
缓存一致性问题怎么解决?
https://mp.weixin.qq.com/s/XOiHlurpwCa-MmQp1yAjSQ
高并发场景下,到底先更新缓存还是先更新数据库?
https://mp.weixin.qq.com/s/o1wbG_9LDDqM2kLNAfHUIg
没人告诉过你更复杂的缓存穿透怎么解决
https://mp.weixin.qq.com/s/0J9X-fFp3y0zaxR78tBfQQ
服务降级该怎么做?
https://mp.weixin.qq.com/s/_RlOAvjfTINJrhwHUogs7Q
分布式缓存与DB秒级一致设计实践
https://mp.weixin.qq.com/s/mjySTz73Ltcfsw1e6iY4YA
缓存踩踏:Facebook史上最严重的宕机事件分析
https://mp.weixin.qq.com/s/sE8xhHUc5qhzeaRga_VFeQ
再也不怕,缓存雪崩、击穿、穿透!
https://mp.weixin.qq.com/s/Ii0b6ORmsxjmXsVRnhG5eA
如何解决缓存系统的数据不一致问题
https://mp.weixin.qq.com/s/rxvNSZtRyA7f27TKKL3J_g
爱奇艺本地实时Cache方案
横向拆分和纵向拆分
横向拆分:按记录进分分割,不同的记录可以分开保存,每个子表的列数相同。适用场景:数据有独立性,例如表中分别记录各个地区的数据或不同时期的数据。
纵向拆分:按列进行分割,即把一条记录分开多个地方保存,每个子表的行数相同。如果一个表中某些列常用,而另外一些列不常用,则可以采用纵向拆分。
https://www.cnblogs.com/shz365/p/6349618.html
数据库拆分:横向拆分和纵向拆分
DML & DDL
DML(Data Manipulation Language)数据操纵语言:
适用范围:对数据库中的数据进行一些简单操作,如insert,delete,update,select等.
DDL(Data Definition Language)数据定义语言:
适用范围:对数据库中的某些对象(例如,database,table)进行管理,如Create,Alter和Drop.
数据管理工具
数据管理工具主要有:Navicat和DataGrip。
https://www.cnblogs.com/zuge/p/7397255.html
DataGrip使用入门
https://mp.weixin.qq.com/s/9Q18rptRwV4Ccg33dD9BrQ
操作所有的数据库靠它就够了(DBeaver)
https://mp.weixin.qq.com/s/x2Rdw2iLuNzs4tN7rwfWvA
这个工具牛逼了!将任何SQL数据库转换为智能电子表格(NocoDB)
数仓:“结构化”地存数据。典型代表:用Excel记账目。
我们平时写东西的时候不一定都是开excel:写个文档用word,拍个照片存相册里面,这些数据没法像数仓一样“结构化”:如果有个人告诉你说“你把照片都放Excel里面”,你会觉得他疯了,对吧。但是这些东西最好都放一块存起来,别丢了——在家你可能就存硬盘里面,存移动硬盘里面,或者fancy一点,存云盘里面。把数据“放一块”,先不担心怎么把它有条有理做成大Excel表格,这个就是数据湖。
https://mp.weixin.qq.com/s/mYwaGszQGod_o6f3p2QbDw
深度对比Delta、Iceberg和Hudi三大开源数据湖方案
https://mp.weixin.qq.com/s/O94Q1Dxe8TnbCMv9d_hlOg
Uber推出数据湖集成神器DBEvents,支持MySQL、Cassandra等
https://mp.weixin.qq.com/s/ufvvGCh7xxu8keQ-j0bjEA
数仓实时化改造:Hudi on Flink在顺丰的实践应用
https://mp.weixin.qq.com/s/csUPkJYpmTyLZqYU3lecRw
Flink和Iceberg如何解决数据入湖面临的挑战
LSM (Log Structured Merge)
十年前,谷歌发表了 “BigTable” 的论文,论文中很多很酷的方面,其中之一就是它所使用的文件组织方式,这个方法更一般的名字叫Log Structured-Merge Tree。其核心思想就是放弃部分读能力,换取写入的最大化能力。
http://www.open-open.com/lib/view/open1424916275249.html
Log Structured Merge Trees(LSM)原理
https://mp.weixin.qq.com/s/CmYg22NObamkNOqGjKg0-w
解读现代存储系统背后的经典算法
https://mp.weixin.qq.com/s/9L_HOCfRwC_QxjzJyVjKXA
字节跳动在RocksDB存储引擎上的改进实践
数据库变更
数据库变更工具主要有Liquibase和Flyway。
https://mp.weixin.qq.com/s/67KEakYxM2lNm_hB9_W9BQ
老板:把数据库变更,给整利索了
时序数据库
https://mp.weixin.qq.com/s/yQSMSLBYg4iauu8yeUfvjw
深度解读!时序数据库HiTSDB:分布式流式聚合引擎
https://mp.weixin.qq.com/s/rZuGW9Fe0TA3dNEY7dh_Jg
TimescaleDB比拼InfluxDB:如何选择合适的时序数据库?
https://mp.weixin.qq.com/s/L_-3H51TpRLBQnqRiLxP4Q
实时数据库:一夜之间,我感受到了时序数据库的威胁
OpenTSDB
OpenTSDB(Time Series Database)是一个基于HBase的存放时序数据的数据库。
http://opentsdb.net/
DB这个词很有误导性,其实它并不是一个db,单独一个OpenTSDB无法存储任何数据,它只是一层数据读写的服务,更准确的说它只是建立在Hbase上的一层数据读写的服务。
HBase在使用上的一个难点就是如何根据业务的特点,设计键值和索引。OpenTSDB就是这方面的一个实践。
https://mp.weixin.qq.com/s/GApmeXGbjRTnhullArlkYg
小米正用时序数据库,解决这个“硬核”问题
大数据时代,数据的来源极其广泛,各种类型的数据在快速产生,数据也是爆发性增长。从数据的产生,通过加工融合流转产生新的数据,到最终消亡,数据之间的关联关系可以称之为数据血缘关系。
https://mp.weixin.qq.com/s/LGK3YPZCe6oPTf48QaAIqA
携程数据血缘构建及应用
https://mp.weixin.qq.com/s/ActS6PxbtZGqPb0jOn0iFg
不懂数据库索引的底层原理?那是因为你心里没点b树
http://www.ruanyifeng.com/blog/2014/07/database_implementation.html
数据库的最简单实现
https://blog.csdn.net/zhengzhb/article/details/8590390
SQL查找删除重复行
https://mp.weixin.qq.com/s/09BlPee0-kP-At2aDyDbMw
中国数据库40年历史:隐秘的江湖与恩怨
https://mp.weixin.qq.com/s/4lZ7My6cs4-VJQ1qGhQxZg
AliSQL X-Cluste:基于X-Paxos的高性能强一致MySQL数据库
https://mp.weixin.qq.com/s/tPzBlQGxGq1WEnXz5ggpxg
sysbench在美团点评中的应用
https://mp.weixin.qq.com/s/lJfIkLQaZnN4e9DxX163SA
一款可能解放DBA的分布式数据库RadonDB的体验之旅
http://mp.weixin.qq.com/s/idz6b2rls97W4Iw6J-ubng
美团点评SQL优化工具SQLAdvisor开源
https://mp.weixin.qq.com/s/jCFjhkwQpj1_P-seQurPqQ
SQL解析在美团点评中的应用
https://mp.weixin.qq.com/s/Al0yvkv0FUPjEBtcxS6Fmg
传统数据仓库和云数据仓库的区别
https://mp.weixin.qq.com/s/RfsFcqbtQYqE7_-snBZSTw
京东实时数据仓库开发实践
https://mp.weixin.qq.com/s/3XyRDgoOLBzUx0f6qYW7IQ
数据仓库分层存储技术揭秘
https://mp.weixin.qq.com/s/GXGSDxukbIAM5W-YSX0pDg
美团点评数据库高可用架构的演进与设想
https://mp.weixin.qq.com/s/crluKkEdvfZlHyF_gQm1ZA
漫谈推荐系统及数据库技术
https://mp.weixin.qq.com/s/CwUW-Ntb4qphrqha24P-Og
漫谈推荐系统及数据库技术(二)——分布式数据库技术
https://mp.weixin.qq.com/s/1pXMCcO6NR1SMBzsyES-cw
分布式数据库又支持关系数据模型了?
https://mp.weixin.qq.com/s/m76PFxbcY6_-XyeU7uu4Jg
数据库的最简单实现
https://mp.weixin.qq.com/s/pZnAcjFlBM2I4Hyctd6MHw
图数据库真的比关系数据库更先进吗?
https://mp.weixin.qq.com/s/O3A5gVewRQ11Z8RdPcs-9w
一文看懂Pinterest如何构建时间序列数据库系统Goku
https://mp.weixin.qq.com/s/5Qcbz6dT20Sa_OvRfbNXNw
如何给新来的师妹解释什么是数据库的脏读、不可重复读和幻读
https://mp.weixin.qq.com/s/1zarqgOh9-3chlBsB4TsuA
物联网时代数据数据库如何选型?
https://mp.weixin.qq.com/s/AcuFiHgRJg2OcNGtfjRxYA
我们对比了5款数据库,告诉你NewSQL的独到之处
https://mp.weixin.qq.com/s/DaspXFLPASYE7N0WHllcYQ
Cassandra的过去、现在、未来
https://mp.weixin.qq.com/s/cLIrRmcS5sbiDVl0cwDlIw
Cassandra在时空数据上的探索
https://mp.weixin.qq.com/s/ufficZ7cCvRFdEpaAfm8Fg
面试官问:讲讲高并发下的接口幂等性怎么实现?
https://www.jianshu.com/p/0355d9e5ba0e
数据库三大范式
https://mp.weixin.qq.com/s/QbwTY8Tfkv1uUdsL9vk8iw
一文看懂阿里文娱大数据OLAP选型
https://mp.weixin.qq.com/s/mcyljauYnyydePLPeshjhw
程序员硬核“年终大扫除”,清理了数据库70GB空间
Mysql
sudo apt install mysql-server mysql-client mysql-workbench
其中,mysql-workbench是一个查看mysql的GUI工具。
安装过程中,会提示输入root用户的密码。注意:这里的root是mysql的登录帐号,而不是系统的登录帐号。
·/etc/my.cnf是默认的MySQL配置文件。
导入csv文件
http://www.mysqltutorial.org/import-csv-file-mysql-table/
Import CSV File Into MySQL Table
LOAD DATA LOCAL INFILE 'c:/tmp/discounts.csv'
INTO TABLE discounts
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 ROWS;
上面的语句中,LOCAL必不可少,否则会报如下错误:
ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement
mysql命令行下执行:
source a.sql
http://www.cnblogs.com/jevo/p/3281139.html
MySQL日志
时间的格式
名称 | 格式 |
---|---|
DATE | YYYY-MM-DD |
DATETIME | YYYY-MM-DD HH:MM:SS |
TIMESTAMP | YYYY-MM-DD HH:MM:SS |
YEAR | YYYY或YY |
中间数据的存储
有的时候,SQL中间处理的结果需要存储起来,以备后用。这时有两种办法:
1.创建View。
CREATE VIEW view_name AS
SELECT column_name(s)
FROM table_name
WHERE condition;
View并不在数据库中存储数据,而是在查询时,执行其中的select语句(每次查询,都会执行),生成中间结果。因此,View从原理来说,更像是一种语法糖,而非存储机制。
2.使用select语句创建table。
Create table new_table_name (Select * from old_table_name);
这种方法会将中间结果存储到数据库中,下次使用的时候,就无需重新生成了。但缺点是原table中的更新不会体现到新table中,只适合处理历史数据。
http://www.cnblogs.com/GT_Andy/archive/2009/12/25/1921914.html
SQL模糊查询
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK