数据库系统概论
数据库核心术语
数据
数据是数据库中存储的基本对象,可以对数据做如下定义:描述事物的符号称为数据。
描述事物的符号多种多样,所以数据有多种表现形式。
数据的表现形式还不能完全地表达其内容,需要经过解释,数据和关于数据的解释是密不可分的,每一个数据都有它的意义,数据的解释指的是对数据含义的说明,数据的含义称为数据的语义,数据与其语义是不可分的。
数据库
数据库就是存放数据的仓库,只不过这个仓库是在计算机存储设备上,而且数据是按一定格式存放的。
数据是数据库中存储的基本对象,可以对数据做如下定义:描述事物的符号称为数据。
描述事物的符号多种多样,所以数据有多种表现形式。
数据的表现形式还不能完全地表达其内容,需要经过解释,数据和关于数据的解释是密不可分的,每一个数据都有它的意义,数据的解释指的是对数据含义的说明,数据的含义称为数据的语义,数据与其语义是不可分的。
数据库就是存放数据的仓库,只不过这个仓库是在计算机存储设备上,而且数据是按一定格式存放的。
SELECT
* FROM
table_name;SELECT DISTINCT
column_name;什么是 DevOps?DevOps 集文化理念、实践和工具于一身,它强调团队授权、跨团队沟通和协作以及技术自动化,其最终目标是优化质量和交付。
DevOps 理念,旨在打破开发工程师和运维工程师的壁垒,强调两个团队合而为一,在产品的整个生命周期(从开发、测试、部署再到运维、运营)内相互协作,工程师不再限于单一职能。
DevOps 始于 2007 年左右,当时的开发和运维对传统的软件开发模式提出了担忧:在这种模式下,编写代码的开发人员与负责部署的运维人员分开工作。 DevOps 一词是开发(development)和运维(operations)这两个词的组合,反映了将二者合而为一的过程。
衡量算法的优劣,有两种评估方式:事前估计和后期测试。
后期测试有性能测试、基准测试(Benchmark)等手段。
但是,后期测试有以下限制:
所以,需要一种方法,可以不受环境或数据规模的影响,粗略地估计算法的执行效率。这种方法就是复杂度分析。
对于任何系统设计,第一件应该做的事是:阐明系统的约束并确定系统需要满足哪些用例。
永远不要假设没有明确说明的事情。一定要尽力收集、理解需求,并设计一个很好地涵盖这些要求的解决方案。
例如,URL 缩短服务可能只为几千个用户提供服务,但每个用户都可能共享数百万个 URL。它可能旨在处理对缩短的 URL 的数百万次点击或数十次点击。该服务可能必须提供有关每个缩短的 URL 的大量统计信息(这会增加您的数据大小),或者可能根本不需要统计信息。
您还必须考虑预期会发生的用例。您的系统将根据其预期功能进行设计。不要忘记确保你知道面试官一开始没有告诉你的所有要求。
SELECT * FROM information_schema.tables
WHERE table_schema = 'test' AND table_name = 'user';
秒杀的核心问题就是极高并发处理,由于系统要在瞬时承受平时数十倍甚至上百倍的流量,这往往超出系统上限,因此处理秒杀的核心思路是限流和缓存。