SlideShare una empresa de Scribd logo
1 de 31
MariaDB: 新 的 源大兴 开
数据引擎
Colin Charles, Team MariaDB, SkySQL Ab
colin@mariadb.org | http://mariadb.org/
http://bytebot.net/blog/ | @bytebot on Twitter
警察大数据 , 北京 , 中国
2014 年 6 月 11 日
我是谁
• 在 SkySQL Ab 进行 MariaDB 的工作
• 已与 Monty Program Ab 合并 , MariaDB 的创建者
• 原来的 MySQL AB (exit: Sun Microsystems)
• 过去的经历包括了 Fedora Project (FESCO),
OpenOffice.org
全球前 20 名网站
1. Google
2. Facebook
3. YouTube
4. Yahoo!
5. Baidu
6. Wikipedia
7. QQ
8. Taobao
9. Twitter
10. Live
11. LinkedIn
12. Sina
5W1H 是 MariaDB
• 嵌入式可兼容的 MySQL 替代品
• 社区开发 , 功能加强 , 向后兼容 , GPLv2 许可
• 4 年 4 个月稳定连续地发布 : 5.1, 5.2, 5.3, 5.5, 10.0, MariaDB
Galera Cluster 5.5, MariaDB 以及 TokuDB 5.5
• 企业功能开放 : PAM 认证插件 , 线程池 , 审计插件
• 默认红帽企业 Linux, Fedora, openSUSE, 等
为什么 MariaDB?
• MySQL 由 Oracle 所有 ; MariaDB 由 MariaDB 基金会支持
• 提供社区 , 存储引擎供应商,以及更多的运送和分配选择
• 固定的工程师组 - Oracle 拥有 MySQL 品牌 , MariaDB 拥有工
程师的智慧
• 生机勃勃的社区 : 40% SkySQL 组 MariaDB, 60% 社区贡献者
• 由 SkySQL 及其他相关组织提供支持
MariaDB 在中国
• 来自淘宝的贡献 ( 多重资源复制
, 在 I_S 里的内存使用 )
• 来自网易的贡献 (163.com)
• Feedback 插件展现了 MariaDB
的高使用率
Virtual Columns
• 一个表中的列的值自动通过预计算的 / 决定性的表达
方式或者表中其他字段的值来计算
• VIRTUAL - 当数据被查询时进行实时计算 ( 同 VIEW
一样 )
• PERSISTENT - 当数据被插入并储存在表中时进行计
算
MariaDB 5.2+
Virtual columns 例子
CREATE TABLE product (
->productname VARCHAR(25),
-> price_eur DOUBLE,
-> xrate DOUBLE,
-> price_cny DOUBLE AS (price_eur*xrate) VIRTUAL);
INSERT INTO product VALUES ('toothpaste', 1.5, 1.39, default);
INSERT into product VALUES ('shaving cream', 3.59, 1.39, default);
Virtual columns 例子 II
select * from product;
+---------------+-----------+-------+-------------------+
| productname | price_eur | xrate | price_cny |
+---------------+-----------+-------+-------------------+
| toothpaste | 1.5 | 1.39 | 2.085 |
| shaving cream | 3.59 | 1.39 | 4.990099999999999 |
+---------------+-----------+-------+-------------------+
2 rows in set (0.00 sec)
PCRE 常规表达方式
• 强大的 REGEXP/RLIKE 操作员
• 新操作员 :
• REGEXP_REPLACE(sub,pattern,replace)
• REGEXP_INSTR(sub,pattern)
• REGEXP_SUBSTR(sub,pattern)
• 与 MariaDB 支持的多字节字符集兼容,包含东亚字符集
MariaDB 10.0+
动态列
• 允许你用表中每一行动态的内容创建 virtual columns 。为每个项储存不
同的属性 ( 像一个网络商店 ).
• 本质上是一个 BLOB 处理功能 : COLUMN_CREATE, COLUMN_ADD,
COLUMN_GET, COLUMN_DELETE, COLUMN_EXISTS,
COLUMN_LIST, COLUMN_CHECK, COLUMN_JSON
• 在 MariaDB 10.0: 名称支持 ( 取代通过数字指向列,为他命名) , 转换
所有的动态列内容到 JSON 数组,与 Cassandra 对接
INSERT INTO tbl SET
dyncol_blob=COLUMN_CREATE("column_name", "value");
MariaDB 5.3+
全文检索
• SphinxSE 是还依赖于 Sphinx daemon 的存储引擎
• 它自己本身不储存任何数据
• 它只是一个内置客户端,允许 MariaDB 和 Sphinx
searchd 交流 , 运行查询 , 获得结果
• 索引 , 搜索都在 Sphinx 上进行
• Mroonga 用于 CJK 语言 10.1
MariaDB 5.2+
询问 Cassandra
• 数据被映射 : 行键 , 静态队列 , 动态队列
• 超级队列是不被支持的
• 没有数据类型的 1-1 直接映射
• 从 SQL 给 Cassandra 写 (SELECT, INSERT,
UPDATE, DELETE)
MariaDB 10.0+
典型使用案例
• 网页点击数据采集,数据流
• 传感器数据
• 通过查找表读取
• 想要一个自动复制的容错表?
连接
• 目标 : ETL 用于 BI 或分析
• 从 CSV, XML, ODBC, MS Access 等导入数据
• WHERE 状态推送到 ODBC 资源
• DROP TABLE 只移除存储的定义,而不是数据本身
• “Virtual” 表不能被索引
MariaDB 10.0+
SPIDER
• 水平分区 , 建立在 PARTITIONs 之上
• 将分区连接到远程服务器
• 对用户来说非常透明,容易展开
• 已启用在索引条件下推支持
MariaDB 10.0+
TokuDB
• 开源 - 分开的 MariaDB 5.5+TokuDB/ 一体化到
10.0.5
• 改进的插入 (10-20x 更快速 ) & 查询速度 , 压缩 ( 直
到 90% 空间减少 ), 复制性能和在线架构的灵活性
• 使用 Fractal Tree Indexes 代替 B-Tree
• 在多重平台上测试 & 创建 TokuDB
MariaDB 10.0+
线程池
• 由 5.1 修改而来 (libevent 基础 ), 对于绑定 CPU
的加载和短时间的查询运行非常有用
• Windows (threadpool), Linux (epoll), Solaris
(event ports), FreeBSD/OSX (kevents)
• 不会最小化有动态池大小的并发交易
• thread_handling=pool-of-threads
• https://mariadb.com/kb/en/thread-pool-in-mariadb-55/
MariaDB 5.5+
非阻塞用户端库
• 开始操作 , 在线程里工作 , 运行操作 , 结果返回
应用案例 : 争对单一服务器的多重查询 ( 是用更多的
CPUs); 争对多重服务器的查询 ( 许多机器上的
SHOW STATUS)
• https://mariadb.com/kb/en/about-non-blocking-operatio
• 快速的 node.js 驱动可用 : mariasql
MariaDB 5.5+
限制行测试
这个优化的目的是为了提供方法以结束 SELECT陈述的
执行,因为它测试了太多的行,以至于使用了太多的
资源。
• SELECT * from t1, t2 LIMIT 10 ROWS
EXAMINED 1000;
• https://mariadb.com/kb/en/limit-rows-examined/
MariaDB 5.5+
SQL 错误日志插件
• 日志上的错误被放在一个日志文档里发送给客户以供
事后的分析。日志文档可以被循环。(推荐)
• MYSQL_AUDIT_PLUGIN
install plugin SQL_ERROR_LOG soname
'sql_errlog.so';
MariaDB 5.5+
审计插件
• 日志服务器活动 - 谁连接到服务器 , 运行过什么查询
, 接触过什么表格 - 循环日志文档或者 syslogd
• 一个 MYSQL_AUDIT_PLUGIN
INSTALL PLUGIN server_audit SONAME
‘server_audit.so’;
MariaDB 10.0+
更好的复制
• 有选择性的跳过复制事件 ( 基于期数或在主机上或在从
属机上 )
• 复制变量的动态控制 ( 不用重启 !)
• 使用基于行的复制 ? 用 SQL 陈述注解二进制日志
• 从属机在二进制日志事件上执行总校验
• 平行复制
MariaDB 5.3+
更好的复制 II
• 在二进制日志中进行集体提交 - 最终 , sync_binlog=1,
innodb_flush_log_at_trx_commit=1 执行
• 通 持 的快照 制 始交易过 续 复 开
• mysqldump —single-transaction —master-data - full non-
blocking backup
• 从属机崩溃安全 ( 数据储存在交易表内部 )
• 多重来源复制 - ( 实时 ) 分析 , 数据分片供应 , 备份等
角色
•捆绑用户到一起 , 用类似的特权 - 依照 SQL 标准
CREATE ROLE audit_bean_counters;
GRANT SELECT ON accounts.* to
audit_bean_counters;
GRANT audit_bean_counters to ceo;
MariaDB 10.0+
MariaDB Galera Cluster
• MariaDB Galera Cluster 是为如今的云基础环境制作
的。它有完整的读 - 写扩展性,以及同步复制功能,
允许多主结构,并保证无延迟或丢失交易。
• 目前基于 5.5
• 10.0 正在测试中 ( 快要准备发布)
被以下公司所信任
• Google
• Wikipedia
• Tumblr
• KakaoTalk
• SK Telecom
• DAPA
• Paybox Services
• ERP5, Wendelin
包扩一个警察部门
(比利时)
MariaDB + Nooku 框架
https://mariadb.com/kb/en/
提问 & 解答
colin@mariadb.org | byte@bytebot.net
http://skysql.com/ | http://mariadb.org/
twitter: @bytebot | url: http://bytebot.net/blog/

Más contenido relacionado

La actualidad más candente

分布式Key Value Store漫谈
分布式Key Value Store漫谈分布式Key Value Store漫谈
分布式Key Value Store漫谈Tim Y
 
Openstack nova
Openstack novaOpenstack nova
Openstack novaYong Luo
 
twMVC#44 讓我們用 k6 來進行壓測吧
twMVC#44 讓我們用 k6 來進行壓測吧twMVC#44 讓我們用 k6 來進行壓測吧
twMVC#44 讓我們用 k6 來進行壓測吧twMVC
 
MySQL优化、新特性和新架构 彭立勋
MySQL优化、新特性和新架构 彭立勋MySQL优化、新特性和新架构 彭立勋
MySQL优化、新特性和新架构 彭立勋Lixun Peng
 
twMVC#38 How we migrate tfs to git(using azure dev ops)
twMVC#38 How we migrate tfs to git(using azure dev ops) twMVC#38 How we migrate tfs to git(using azure dev ops)
twMVC#38 How we migrate tfs to git(using azure dev ops) twMVC
 
MySQL压力测试经验
MySQL压力测试经验MySQL压力测试经验
MySQL压力测试经验Jinrong Ye
 
Traffic server overview
Traffic server overviewTraffic server overview
Traffic server overviewqianshi
 
Redis replication dcshi
Redis replication dcshiRedis replication dcshi
Redis replication dcshidcshi
 
twMVC#43 YARP
twMVC#43 YARPtwMVC#43 YARP
twMVC#43 YARPtwMVC
 
twMVC#36讓 Exceptionless 存管你的 Log
twMVC#36讓 Exceptionless 存管你的 LogtwMVC#36讓 Exceptionless 存管你的 Log
twMVC#36讓 Exceptionless 存管你的 LogtwMVC
 
天涯论坛的技术进化史-Qcon2011
天涯论坛的技术进化史-Qcon2011天涯论坛的技术进化史-Qcon2011
天涯论坛的技术进化史-Qcon2011Yiwei Ma
 
1号店数据库架构
1号店数据库架构1号店数据库架构
1号店数据库架构Louis liu
 
浅谈电商网站数据访问层(DAL)与 ORM 之适用性
浅谈电商网站数据访问层(DAL)与 ORM 之适用性浅谈电商网站数据访问层(DAL)与 ORM 之适用性
浅谈电商网站数据访问层(DAL)与 ORM 之适用性Xuefeng Zhang
 
Hacking Nginx at Taobao
Hacking Nginx at TaobaoHacking Nginx at Taobao
Hacking Nginx at TaobaoJoshua Zhu
 
MySQL和IO(下)
MySQL和IO(下)MySQL和IO(下)
MySQL和IO(下)Feng Yu
 
MySQL新技术探索与实践
MySQL新技术探索与实践MySQL新技术探索与实践
MySQL新技术探索与实践Lixun Peng
 
twMVC#32應用 ASP.NET WebAPI2 Odata 建置高互動性 APIS
twMVC#32應用 ASP.NET WebAPI2 Odata 建置高互動性 APIStwMVC#32應用 ASP.NET WebAPI2 Odata 建置高互動性 APIS
twMVC#32應用 ASP.NET WebAPI2 Odata 建置高互動性 APIStwMVC
 
Azure Taiwan - Keep azure cost down (Azure 成本管控)
Azure Taiwan - Keep azure cost down (Azure 成本管控)Azure Taiwan - Keep azure cost down (Azure 成本管控)
Azure Taiwan - Keep azure cost down (Azure 成本管控)Alan Tsai
 
豆瓣数据架构实践
豆瓣数据架构实践豆瓣数据架构实践
豆瓣数据架构实践Xupeng Yun
 
twMVC#30 | 你應該瞭解的 container-on-azure-二三事
twMVC#30 | 你應該瞭解的 container-on-azure-二三事twMVC#30 | 你應該瞭解的 container-on-azure-二三事
twMVC#30 | 你應該瞭解的 container-on-azure-二三事twMVC
 

La actualidad más candente (20)

分布式Key Value Store漫谈
分布式Key Value Store漫谈分布式Key Value Store漫谈
分布式Key Value Store漫谈
 
Openstack nova
Openstack novaOpenstack nova
Openstack nova
 
twMVC#44 讓我們用 k6 來進行壓測吧
twMVC#44 讓我們用 k6 來進行壓測吧twMVC#44 讓我們用 k6 來進行壓測吧
twMVC#44 讓我們用 k6 來進行壓測吧
 
MySQL优化、新特性和新架构 彭立勋
MySQL优化、新特性和新架构 彭立勋MySQL优化、新特性和新架构 彭立勋
MySQL优化、新特性和新架构 彭立勋
 
twMVC#38 How we migrate tfs to git(using azure dev ops)
twMVC#38 How we migrate tfs to git(using azure dev ops) twMVC#38 How we migrate tfs to git(using azure dev ops)
twMVC#38 How we migrate tfs to git(using azure dev ops)
 
MySQL压力测试经验
MySQL压力测试经验MySQL压力测试经验
MySQL压力测试经验
 
Traffic server overview
Traffic server overviewTraffic server overview
Traffic server overview
 
Redis replication dcshi
Redis replication dcshiRedis replication dcshi
Redis replication dcshi
 
twMVC#43 YARP
twMVC#43 YARPtwMVC#43 YARP
twMVC#43 YARP
 
twMVC#36讓 Exceptionless 存管你的 Log
twMVC#36讓 Exceptionless 存管你的 LogtwMVC#36讓 Exceptionless 存管你的 Log
twMVC#36讓 Exceptionless 存管你的 Log
 
天涯论坛的技术进化史-Qcon2011
天涯论坛的技术进化史-Qcon2011天涯论坛的技术进化史-Qcon2011
天涯论坛的技术进化史-Qcon2011
 
1号店数据库架构
1号店数据库架构1号店数据库架构
1号店数据库架构
 
浅谈电商网站数据访问层(DAL)与 ORM 之适用性
浅谈电商网站数据访问层(DAL)与 ORM 之适用性浅谈电商网站数据访问层(DAL)与 ORM 之适用性
浅谈电商网站数据访问层(DAL)与 ORM 之适用性
 
Hacking Nginx at Taobao
Hacking Nginx at TaobaoHacking Nginx at Taobao
Hacking Nginx at Taobao
 
MySQL和IO(下)
MySQL和IO(下)MySQL和IO(下)
MySQL和IO(下)
 
MySQL新技术探索与实践
MySQL新技术探索与实践MySQL新技术探索与实践
MySQL新技术探索与实践
 
twMVC#32應用 ASP.NET WebAPI2 Odata 建置高互動性 APIS
twMVC#32應用 ASP.NET WebAPI2 Odata 建置高互動性 APIStwMVC#32應用 ASP.NET WebAPI2 Odata 建置高互動性 APIS
twMVC#32應用 ASP.NET WebAPI2 Odata 建置高互動性 APIS
 
Azure Taiwan - Keep azure cost down (Azure 成本管控)
Azure Taiwan - Keep azure cost down (Azure 成本管控)Azure Taiwan - Keep azure cost down (Azure 成本管控)
Azure Taiwan - Keep azure cost down (Azure 成本管控)
 
豆瓣数据架构实践
豆瓣数据架构实践豆瓣数据架构实践
豆瓣数据架构实践
 
twMVC#30 | 你應該瞭解的 container-on-azure-二三事
twMVC#30 | 你應該瞭解的 container-on-azure-二三事twMVC#30 | 你應該瞭解的 container-on-azure-二三事
twMVC#30 | 你應該瞭解的 container-on-azure-二三事
 

Destacado

Big Data Security (ChinaNetCloud - Guiyang Conference)
Big Data Security (ChinaNetCloud - Guiyang Conference)Big Data Security (ChinaNetCloud - Guiyang Conference)
Big Data Security (ChinaNetCloud - Guiyang Conference)ChinaNetCloud
 
Qcon2013 罗李 - hadoop在阿里
Qcon2013 罗李 - hadoop在阿里Qcon2013 罗李 - hadoop在阿里
Qcon2013 罗李 - hadoop在阿里li luo
 
A Discussion of Learning Analytics on Big Data 基于大数据的学习分析研究
A Discussion of Learning Analytics on Big Data 基于大数据的学习分析研究A Discussion of Learning Analytics on Big Data 基于大数据的学习分析研究
A Discussion of Learning Analytics on Big Data 基于大数据的学习分析研究CITE
 
企业PaaS助力数字化转型
企业PaaS助力数字化转型企业PaaS助力数字化转型
企业PaaS助力数字化转型Hardway Hou
 
BDTC2015 新浪微博-姜贵彬-大数据驱动下的微博社会化推荐
BDTC2015 新浪微博-姜贵彬-大数据驱动下的微博社会化推荐BDTC2015 新浪微博-姜贵彬-大数据驱动下的微博社会化推荐
BDTC2015 新浪微博-姜贵彬-大数据驱动下的微博社会化推荐Jerry Wen
 
慧数据,联未来 -- 助力企业客户构建数据服务生态
慧数据,联未来 -- 助力企业客户构建数据服务生态慧数据,联未来 -- 助力企业客户构建数据服务生态
慧数据,联未来 -- 助力企业客户构建数据服务生态Hardway Hou
 
大数据下的大表Join计算和优化
大数据下的大表Join计算和优化大数据下的大表Join计算和优化
大数据下的大表Join计算和优化huhai463127310
 
Yisou intro
Yisou introYisou intro
Yisou introSong Hou
 
BDTC2015 小米-大数据和小米金融
BDTC2015 小米-大数据和小米金融BDTC2015 小米-大数据和小米金融
BDTC2015 小米-大数据和小米金融Jerry Wen
 
数字阅读推广与大数据
数字阅读推广与大数据数字阅读推广与大数据
数字阅读推广与大数据Shanghai Library
 
Data Journalism Training @ Southern Metropolis Daily, Guangdong, China
Data Journalism Training @ Southern Metropolis Daily, Guangdong, ChinaData Journalism Training @ Southern Metropolis Daily, Guangdong, China
Data Journalism Training @ Southern Metropolis Daily, Guangdong, ChinaYolanda Ma Jinxin
 
北大一智-教育大数据
北大一智-教育大数据北大一智-教育大数据
北大一智-教育大数据Jim Chen
 
大数据人才招聘
大数据人才招聘大数据人才招聘
大数据人才招聘杰丰 余
 
Introduction to big data
Introduction to big dataIntroduction to big data
Introduction to big data邦宇 叶
 
Hadoop-分布式数据平台
Hadoop-分布式数据平台Hadoop-分布式数据平台
Hadoop-分布式数据平台Jacky Chi
 
大数据知识及技术简介(Introduction to basic concepts and techiques of big data in Chinese)
大数据知识及技术简介(Introduction to basic concepts and techiques of big data in Chinese)大数据知识及技术简介(Introduction to basic concepts and techiques of big data in Chinese)
大数据知识及技术简介(Introduction to basic concepts and techiques of big data in Chinese)Ye (Julia) Li
 
BDTC2015 数美时代-梁堃-sentry 金融实时风控系统
BDTC2015 数美时代-梁堃-sentry 金融实时风控系统BDTC2015 数美时代-梁堃-sentry 金融实时风控系统
BDTC2015 数美时代-梁堃-sentry 金融实时风控系统Jerry Wen
 

Destacado (20)

Big Data Security (ChinaNetCloud - Guiyang Conference)
Big Data Security (ChinaNetCloud - Guiyang Conference)Big Data Security (ChinaNetCloud - Guiyang Conference)
Big Data Security (ChinaNetCloud - Guiyang Conference)
 
Qcon2013 罗李 - hadoop在阿里
Qcon2013 罗李 - hadoop在阿里Qcon2013 罗李 - hadoop在阿里
Qcon2013 罗李 - hadoop在阿里
 
A Discussion of Learning Analytics on Big Data 基于大数据的学习分析研究
A Discussion of Learning Analytics on Big Data 基于大数据的学习分析研究A Discussion of Learning Analytics on Big Data 基于大数据的学习分析研究
A Discussion of Learning Analytics on Big Data 基于大数据的学习分析研究
 
企业PaaS助力数字化转型
企业PaaS助力数字化转型企业PaaS助力数字化转型
企业PaaS助力数字化转型
 
BDTC2015 新浪微博-姜贵彬-大数据驱动下的微博社会化推荐
BDTC2015 新浪微博-姜贵彬-大数据驱动下的微博社会化推荐BDTC2015 新浪微博-姜贵彬-大数据驱动下的微博社会化推荐
BDTC2015 新浪微博-姜贵彬-大数据驱动下的微博社会化推荐
 
慧数据,联未来 -- 助力企业客户构建数据服务生态
慧数据,联未来 -- 助力企业客户构建数据服务生态慧数据,联未来 -- 助力企业客户构建数据服务生态
慧数据,联未来 -- 助力企业客户构建数据服务生态
 
大数据下的大表Join计算和优化
大数据下的大表Join计算和优化大数据下的大表Join计算和优化
大数据下的大表Join计算和优化
 
Tachyon 2015 08 China
Tachyon 2015 08 ChinaTachyon 2015 08 China
Tachyon 2015 08 China
 
Yisou intro
Yisou introYisou intro
Yisou intro
 
BDTC2015 小米-大数据和小米金融
BDTC2015 小米-大数据和小米金融BDTC2015 小米-大数据和小米金融
BDTC2015 小米-大数据和小米金融
 
数字阅读推广与大数据
数字阅读推广与大数据数字阅读推广与大数据
数字阅读推广与大数据
 
Data Journalism Training @ Southern Metropolis Daily, Guangdong, China
Data Journalism Training @ Southern Metropolis Daily, Guangdong, ChinaData Journalism Training @ Southern Metropolis Daily, Guangdong, China
Data Journalism Training @ Southern Metropolis Daily, Guangdong, China
 
北大一智-教育大数据
北大一智-教育大数据北大一智-教育大数据
北大一智-教育大数据
 
大数据人才招聘
大数据人才招聘大数据人才招聘
大数据人才招聘
 
Silf2012lw3
Silf2012lw3Silf2012lw3
Silf2012lw3
 
Introduction to big data
Introduction to big dataIntroduction to big data
Introduction to big data
 
Hadoop-分布式数据平台
Hadoop-分布式数据平台Hadoop-分布式数据平台
Hadoop-分布式数据平台
 
大数据知识及技术简介(Introduction to basic concepts and techiques of big data in Chinese)
大数据知识及技术简介(Introduction to basic concepts and techiques of big data in Chinese)大数据知识及技术简介(Introduction to basic concepts and techiques of big data in Chinese)
大数据知识及技术简介(Introduction to basic concepts and techiques of big data in Chinese)
 
Bloomfilter
BloomfilterBloomfilter
Bloomfilter
 
BDTC2015 数美时代-梁堃-sentry 金融实时风控系统
BDTC2015 数美时代-梁堃-sentry 金融实时风控系统BDTC2015 数美时代-梁堃-sentry 金融实时风控系统
BDTC2015 数美时代-梁堃-sentry 金融实时风控系统
 

Similar a MariaDB: 新兴的开源大数据引擎

合久必分,分久必合
合久必分,分久必合合久必分,分久必合
合久必分,分久必合Qiangning Hong
 
Nodejs & NAE
Nodejs & NAENodejs & NAE
Nodejs & NAEq3boy
 
美团前端架构简介
美团前端架构简介美团前端架构简介
美团前端架构简介pan weizeng
 
新浪云计算公开课第一期:Let’s run @ sae(丛磊)
新浪云计算公开课第一期:Let’s run @ sae(丛磊)新浪云计算公开课第一期:Let’s run @ sae(丛磊)
新浪云计算公开课第一期:Let’s run @ sae(丛磊)锐 张
 
Python 于 webgame 的应用
Python 于 webgame 的应用Python 于 webgame 的应用
Python 于 webgame 的应用勇浩 赖
 
DevOpsDays Taipei 2018 - Puppet 古早味、新感受:改造老牌企業進入自動化時代
DevOpsDays Taipei 2018 - Puppet 古早味、新感受:改造老牌企業進入自動化時代DevOpsDays Taipei 2018 - Puppet 古早味、新感受:改造老牌企業進入自動化時代
DevOpsDays Taipei 2018 - Puppet 古早味、新感受:改造老牌企業進入自動化時代scott liao
 
雲端技術的新趨勢
雲端技術的新趨勢雲端技術的新趨勢
雲端技術的新趨勢Ben Huang
 
小米Hadoop&hbase微实践
小米Hadoop&hbase微实践小米Hadoop&hbase微实践
小米Hadoop&hbase微实践Liang Xie
 
20141128(刘胜)UTC2014分布式和云服务的思考与实践——支付清算行业分布式架构的探索
20141128(刘胜)UTC2014分布式和云服务的思考与实践——支付清算行业分布式架构的探索20141128(刘胜)UTC2014分布式和云服务的思考与实践——支付清算行业分布式架构的探索
20141128(刘胜)UTC2014分布式和云服务的思考与实践——支付清算行业分布式架构的探索liu sheng
 
以业务为中心的云自动化 V mware-v-realize-automation-7
以业务为中心的云自动化 V mware-v-realize-automation-7以业务为中心的云自动化 V mware-v-realize-automation-7
以业务为中心的云自动化 V mware-v-realize-automation-7Frank Chang
 
01 DevOps and Azure DevOps overview
01 DevOps and Azure DevOps overview01 DevOps and Azure DevOps overview
01 DevOps and Azure DevOps overviewAlan Tsai
 
Hadoop+spark實作
Hadoop+spark實作Hadoop+spark實作
Hadoop+spark實作FEG
 
D baa s_in_xiaomi
D baa s_in_xiaomiD baa s_in_xiaomi
D baa s_in_xiaomihdksky
 
Google雲端備份與虛擬伺服器建置工作坊
Google雲端備份與虛擬伺服器建置工作坊Google雲端備份與虛擬伺服器建置工作坊
Google雲端備份與虛擬伺服器建置工作坊Chung-Yi Huang
 
Software Engineer Talk
Software Engineer TalkSoftware Engineer Talk
Software Engineer TalkLarry Cai
 
Beyond rails server
Beyond rails serverBeyond rails server
Beyond rails serverMichael Chen
 
探索 ISTIO 新型 DATA PLANE 架構 AMBIENT MESH - GOLANG TAIWAN GATHERING #77 X CNTUG
探索 ISTIO 新型 DATA PLANE 架構 AMBIENT MESH - GOLANG TAIWAN GATHERING #77 X CNTUG探索 ISTIO 新型 DATA PLANE 架構 AMBIENT MESH - GOLANG TAIWAN GATHERING #77 X CNTUG
探索 ISTIO 新型 DATA PLANE 架構 AMBIENT MESH - GOLANG TAIWAN GATHERING #77 X CNTUGYingSiang Geng
 
1_MySQL_20220307_0328.pptx
1_MySQL_20220307_0328.pptx1_MySQL_20220307_0328.pptx
1_MySQL_20220307_0328.pptxFEG
 
twMVC#19 | opserver監控服務的解決
twMVC#19 | opserver監控服務的解決twMVC#19 | opserver監控服務的解決
twMVC#19 | opserver監控服務的解決twMVC
 

Similar a MariaDB: 新兴的开源大数据引擎 (20)

合久必分,分久必合
合久必分,分久必合合久必分,分久必合
合久必分,分久必合
 
Nodejs & NAE
Nodejs & NAENodejs & NAE
Nodejs & NAE
 
美团前端架构简介
美团前端架构简介美团前端架构简介
美团前端架构简介
 
新浪云计算公开课第一期:Let’s run @ sae(丛磊)
新浪云计算公开课第一期:Let’s run @ sae(丛磊)新浪云计算公开课第一期:Let’s run @ sae(丛磊)
新浪云计算公开课第一期:Let’s run @ sae(丛磊)
 
Python 于 webgame 的应用
Python 于 webgame 的应用Python 于 webgame 的应用
Python 于 webgame 的应用
 
DevOpsDays Taipei 2018 - Puppet 古早味、新感受:改造老牌企業進入自動化時代
DevOpsDays Taipei 2018 - Puppet 古早味、新感受:改造老牌企業進入自動化時代DevOpsDays Taipei 2018 - Puppet 古早味、新感受:改造老牌企業進入自動化時代
DevOpsDays Taipei 2018 - Puppet 古早味、新感受:改造老牌企業進入自動化時代
 
雲端技術的新趨勢
雲端技術的新趨勢雲端技術的新趨勢
雲端技術的新趨勢
 
小米Hadoop&hbase微实践
小米Hadoop&hbase微实践小米Hadoop&hbase微实践
小米Hadoop&hbase微实践
 
20141128(刘胜)UTC2014分布式和云服务的思考与实践——支付清算行业分布式架构的探索
20141128(刘胜)UTC2014分布式和云服务的思考与实践——支付清算行业分布式架构的探索20141128(刘胜)UTC2014分布式和云服务的思考与实践——支付清算行业分布式架构的探索
20141128(刘胜)UTC2014分布式和云服务的思考与实践——支付清算行业分布式架构的探索
 
以业务为中心的云自动化 V mware-v-realize-automation-7
以业务为中心的云自动化 V mware-v-realize-automation-7以业务为中心的云自动化 V mware-v-realize-automation-7
以业务为中心的云自动化 V mware-v-realize-automation-7
 
01 DevOps and Azure DevOps overview
01 DevOps and Azure DevOps overview01 DevOps and Azure DevOps overview
01 DevOps and Azure DevOps overview
 
Hadoop+spark實作
Hadoop+spark實作Hadoop+spark實作
Hadoop+spark實作
 
Hadoop ecosystem
Hadoop ecosystemHadoop ecosystem
Hadoop ecosystem
 
D baa s_in_xiaomi
D baa s_in_xiaomiD baa s_in_xiaomi
D baa s_in_xiaomi
 
Google雲端備份與虛擬伺服器建置工作坊
Google雲端備份與虛擬伺服器建置工作坊Google雲端備份與虛擬伺服器建置工作坊
Google雲端備份與虛擬伺服器建置工作坊
 
Software Engineer Talk
Software Engineer TalkSoftware Engineer Talk
Software Engineer Talk
 
Beyond rails server
Beyond rails serverBeyond rails server
Beyond rails server
 
探索 ISTIO 新型 DATA PLANE 架構 AMBIENT MESH - GOLANG TAIWAN GATHERING #77 X CNTUG
探索 ISTIO 新型 DATA PLANE 架構 AMBIENT MESH - GOLANG TAIWAN GATHERING #77 X CNTUG探索 ISTIO 新型 DATA PLANE 架構 AMBIENT MESH - GOLANG TAIWAN GATHERING #77 X CNTUG
探索 ISTIO 新型 DATA PLANE 架構 AMBIENT MESH - GOLANG TAIWAN GATHERING #77 X CNTUG
 
1_MySQL_20220307_0328.pptx
1_MySQL_20220307_0328.pptx1_MySQL_20220307_0328.pptx
1_MySQL_20220307_0328.pptx
 
twMVC#19 | opserver監控服務的解決
twMVC#19 | opserver監控服務的解決twMVC#19 | opserver監控服務的解決
twMVC#19 | opserver監控服務的解決
 

Más de Colin Charles

Differences between MariaDB 10.3 & MySQL 8.0
Differences between MariaDB 10.3 & MySQL 8.0Differences between MariaDB 10.3 & MySQL 8.0
Differences between MariaDB 10.3 & MySQL 8.0Colin Charles
 
What is MariaDB Server 10.3?
What is MariaDB Server 10.3?What is MariaDB Server 10.3?
What is MariaDB Server 10.3?Colin Charles
 
Databases in the hosted cloud
Databases in the hosted cloud Databases in the hosted cloud
Databases in the hosted cloud Colin Charles
 
MySQL features missing in MariaDB Server
MySQL features missing in MariaDB ServerMySQL features missing in MariaDB Server
MySQL features missing in MariaDB ServerColin Charles
 
The MySQL ecosystem - understanding it, not running away from it!
The MySQL ecosystem - understanding it, not running away from it! The MySQL ecosystem - understanding it, not running away from it!
The MySQL ecosystem - understanding it, not running away from it! Colin Charles
 
Databases in the Hosted Cloud
Databases in the Hosted CloudDatabases in the Hosted Cloud
Databases in the Hosted CloudColin Charles
 
Best practices for MySQL High Availability Tutorial
Best practices for MySQL High Availability TutorialBest practices for MySQL High Availability Tutorial
Best practices for MySQL High Availability TutorialColin Charles
 
Percona ServerをMySQL 5.6と5.7用に作るエンジニアリング(そしてMongoDBのヒント)
Percona ServerをMySQL 5.6と5.7用に作るエンジニアリング(そしてMongoDBのヒント)Percona ServerをMySQL 5.6と5.7用に作るエンジニアリング(そしてMongoDBのヒント)
Percona ServerをMySQL 5.6と5.7用に作るエンジニアリング(そしてMongoDBのヒント)Colin Charles
 
Capacity planning for your data stores
Capacity planning for your data storesCapacity planning for your data stores
Capacity planning for your data storesColin Charles
 
The Proxy Wars - MySQL Router, ProxySQL, MariaDB MaxScale
The Proxy Wars - MySQL Router, ProxySQL, MariaDB MaxScaleThe Proxy Wars - MySQL Router, ProxySQL, MariaDB MaxScale
The Proxy Wars - MySQL Router, ProxySQL, MariaDB MaxScaleColin Charles
 
Lessons from {distributed,remote,virtual} communities and companies
Lessons from {distributed,remote,virtual} communities and companiesLessons from {distributed,remote,virtual} communities and companies
Lessons from {distributed,remote,virtual} communities and companiesColin Charles
 
Forking Successfully - or is a branch better?
Forking Successfully - or is a branch better?Forking Successfully - or is a branch better?
Forking Successfully - or is a branch better?Colin Charles
 
MariaDB Server Compatibility with MySQL
MariaDB Server Compatibility with MySQLMariaDB Server Compatibility with MySQL
MariaDB Server Compatibility with MySQLColin Charles
 
Securing your MySQL / MariaDB Server data
Securing your MySQL / MariaDB Server dataSecuring your MySQL / MariaDB Server data
Securing your MySQL / MariaDB Server dataColin Charles
 
The MySQL Server Ecosystem in 2016
The MySQL Server Ecosystem in 2016The MySQL Server Ecosystem in 2016
The MySQL Server Ecosystem in 2016Colin Charles
 
The Complete MariaDB Server tutorial
The Complete MariaDB Server tutorialThe Complete MariaDB Server tutorial
The Complete MariaDB Server tutorialColin Charles
 
Best practices for MySQL/MariaDB Server/Percona Server High Availability
Best practices for MySQL/MariaDB Server/Percona Server High AvailabilityBest practices for MySQL/MariaDB Server/Percona Server High Availability
Best practices for MySQL/MariaDB Server/Percona Server High AvailabilityColin Charles
 
Lessons from database failures
Lessons from database failures Lessons from database failures
Lessons from database failures Colin Charles
 
Lessons from database failures
Lessons from database failuresLessons from database failures
Lessons from database failuresColin Charles
 
Lessons from database failures
Lessons from database failuresLessons from database failures
Lessons from database failuresColin Charles
 

Más de Colin Charles (20)

Differences between MariaDB 10.3 & MySQL 8.0
Differences between MariaDB 10.3 & MySQL 8.0Differences between MariaDB 10.3 & MySQL 8.0
Differences between MariaDB 10.3 & MySQL 8.0
 
What is MariaDB Server 10.3?
What is MariaDB Server 10.3?What is MariaDB Server 10.3?
What is MariaDB Server 10.3?
 
Databases in the hosted cloud
Databases in the hosted cloud Databases in the hosted cloud
Databases in the hosted cloud
 
MySQL features missing in MariaDB Server
MySQL features missing in MariaDB ServerMySQL features missing in MariaDB Server
MySQL features missing in MariaDB Server
 
The MySQL ecosystem - understanding it, not running away from it!
The MySQL ecosystem - understanding it, not running away from it! The MySQL ecosystem - understanding it, not running away from it!
The MySQL ecosystem - understanding it, not running away from it!
 
Databases in the Hosted Cloud
Databases in the Hosted CloudDatabases in the Hosted Cloud
Databases in the Hosted Cloud
 
Best practices for MySQL High Availability Tutorial
Best practices for MySQL High Availability TutorialBest practices for MySQL High Availability Tutorial
Best practices for MySQL High Availability Tutorial
 
Percona ServerをMySQL 5.6と5.7用に作るエンジニアリング(そしてMongoDBのヒント)
Percona ServerをMySQL 5.6と5.7用に作るエンジニアリング(そしてMongoDBのヒント)Percona ServerをMySQL 5.6と5.7用に作るエンジニアリング(そしてMongoDBのヒント)
Percona ServerをMySQL 5.6と5.7用に作るエンジニアリング(そしてMongoDBのヒント)
 
Capacity planning for your data stores
Capacity planning for your data storesCapacity planning for your data stores
Capacity planning for your data stores
 
The Proxy Wars - MySQL Router, ProxySQL, MariaDB MaxScale
The Proxy Wars - MySQL Router, ProxySQL, MariaDB MaxScaleThe Proxy Wars - MySQL Router, ProxySQL, MariaDB MaxScale
The Proxy Wars - MySQL Router, ProxySQL, MariaDB MaxScale
 
Lessons from {distributed,remote,virtual} communities and companies
Lessons from {distributed,remote,virtual} communities and companiesLessons from {distributed,remote,virtual} communities and companies
Lessons from {distributed,remote,virtual} communities and companies
 
Forking Successfully - or is a branch better?
Forking Successfully - or is a branch better?Forking Successfully - or is a branch better?
Forking Successfully - or is a branch better?
 
MariaDB Server Compatibility with MySQL
MariaDB Server Compatibility with MySQLMariaDB Server Compatibility with MySQL
MariaDB Server Compatibility with MySQL
 
Securing your MySQL / MariaDB Server data
Securing your MySQL / MariaDB Server dataSecuring your MySQL / MariaDB Server data
Securing your MySQL / MariaDB Server data
 
The MySQL Server Ecosystem in 2016
The MySQL Server Ecosystem in 2016The MySQL Server Ecosystem in 2016
The MySQL Server Ecosystem in 2016
 
The Complete MariaDB Server tutorial
The Complete MariaDB Server tutorialThe Complete MariaDB Server tutorial
The Complete MariaDB Server tutorial
 
Best practices for MySQL/MariaDB Server/Percona Server High Availability
Best practices for MySQL/MariaDB Server/Percona Server High AvailabilityBest practices for MySQL/MariaDB Server/Percona Server High Availability
Best practices for MySQL/MariaDB Server/Percona Server High Availability
 
Lessons from database failures
Lessons from database failures Lessons from database failures
Lessons from database failures
 
Lessons from database failures
Lessons from database failuresLessons from database failures
Lessons from database failures
 
Lessons from database failures
Lessons from database failuresLessons from database failures
Lessons from database failures
 

MariaDB: 新兴的开源大数据引擎

  • 1. MariaDB: 新 的 源大兴 开 数据引擎 Colin Charles, Team MariaDB, SkySQL Ab colin@mariadb.org | http://mariadb.org/ http://bytebot.net/blog/ | @bytebot on Twitter 警察大数据 , 北京 , 中国 2014 年 6 月 11 日
  • 2. 我是谁 • 在 SkySQL Ab 进行 MariaDB 的工作 • 已与 Monty Program Ab 合并 , MariaDB 的创建者 • 原来的 MySQL AB (exit: Sun Microsystems) • 过去的经历包括了 Fedora Project (FESCO), OpenOffice.org
  • 3. 全球前 20 名网站 1. Google 2. Facebook 3. YouTube 4. Yahoo! 5. Baidu 6. Wikipedia 7. QQ 8. Taobao 9. Twitter 10. Live 11. LinkedIn 12. Sina
  • 4. 5W1H 是 MariaDB • 嵌入式可兼容的 MySQL 替代品 • 社区开发 , 功能加强 , 向后兼容 , GPLv2 许可 • 4 年 4 个月稳定连续地发布 : 5.1, 5.2, 5.3, 5.5, 10.0, MariaDB Galera Cluster 5.5, MariaDB 以及 TokuDB 5.5 • 企业功能开放 : PAM 认证插件 , 线程池 , 审计插件 • 默认红帽企业 Linux, Fedora, openSUSE, 等
  • 5. 为什么 MariaDB? • MySQL 由 Oracle 所有 ; MariaDB 由 MariaDB 基金会支持 • 提供社区 , 存储引擎供应商,以及更多的运送和分配选择 • 固定的工程师组 - Oracle 拥有 MySQL 品牌 , MariaDB 拥有工 程师的智慧 • 生机勃勃的社区 : 40% SkySQL 组 MariaDB, 60% 社区贡献者 • 由 SkySQL 及其他相关组织提供支持
  • 6. MariaDB 在中国 • 来自淘宝的贡献 ( 多重资源复制 , 在 I_S 里的内存使用 ) • 来自网易的贡献 (163.com) • Feedback 插件展现了 MariaDB 的高使用率
  • 7.
  • 8. Virtual Columns • 一个表中的列的值自动通过预计算的 / 决定性的表达 方式或者表中其他字段的值来计算 • VIRTUAL - 当数据被查询时进行实时计算 ( 同 VIEW 一样 ) • PERSISTENT - 当数据被插入并储存在表中时进行计 算 MariaDB 5.2+
  • 9. Virtual columns 例子 CREATE TABLE product ( ->productname VARCHAR(25), -> price_eur DOUBLE, -> xrate DOUBLE, -> price_cny DOUBLE AS (price_eur*xrate) VIRTUAL); INSERT INTO product VALUES ('toothpaste', 1.5, 1.39, default); INSERT into product VALUES ('shaving cream', 3.59, 1.39, default);
  • 10. Virtual columns 例子 II select * from product; +---------------+-----------+-------+-------------------+ | productname | price_eur | xrate | price_cny | +---------------+-----------+-------+-------------------+ | toothpaste | 1.5 | 1.39 | 2.085 | | shaving cream | 3.59 | 1.39 | 4.990099999999999 | +---------------+-----------+-------+-------------------+ 2 rows in set (0.00 sec)
  • 11. PCRE 常规表达方式 • 强大的 REGEXP/RLIKE 操作员 • 新操作员 : • REGEXP_REPLACE(sub,pattern,replace) • REGEXP_INSTR(sub,pattern) • REGEXP_SUBSTR(sub,pattern) • 与 MariaDB 支持的多字节字符集兼容,包含东亚字符集 MariaDB 10.0+
  • 12. 动态列 • 允许你用表中每一行动态的内容创建 virtual columns 。为每个项储存不 同的属性 ( 像一个网络商店 ). • 本质上是一个 BLOB 处理功能 : COLUMN_CREATE, COLUMN_ADD, COLUMN_GET, COLUMN_DELETE, COLUMN_EXISTS, COLUMN_LIST, COLUMN_CHECK, COLUMN_JSON • 在 MariaDB 10.0: 名称支持 ( 取代通过数字指向列,为他命名) , 转换 所有的动态列内容到 JSON 数组,与 Cassandra 对接 INSERT INTO tbl SET dyncol_blob=COLUMN_CREATE("column_name", "value"); MariaDB 5.3+
  • 13. 全文检索 • SphinxSE 是还依赖于 Sphinx daemon 的存储引擎 • 它自己本身不储存任何数据 • 它只是一个内置客户端,允许 MariaDB 和 Sphinx searchd 交流 , 运行查询 , 获得结果 • 索引 , 搜索都在 Sphinx 上进行 • Mroonga 用于 CJK 语言 10.1 MariaDB 5.2+
  • 14. 询问 Cassandra • 数据被映射 : 行键 , 静态队列 , 动态队列 • 超级队列是不被支持的 • 没有数据类型的 1-1 直接映射 • 从 SQL 给 Cassandra 写 (SELECT, INSERT, UPDATE, DELETE) MariaDB 10.0+
  • 15. 典型使用案例 • 网页点击数据采集,数据流 • 传感器数据 • 通过查找表读取 • 想要一个自动复制的容错表?
  • 16. 连接 • 目标 : ETL 用于 BI 或分析 • 从 CSV, XML, ODBC, MS Access 等导入数据 • WHERE 状态推送到 ODBC 资源 • DROP TABLE 只移除存储的定义,而不是数据本身 • “Virtual” 表不能被索引 MariaDB 10.0+
  • 17. SPIDER • 水平分区 , 建立在 PARTITIONs 之上 • 将分区连接到远程服务器 • 对用户来说非常透明,容易展开 • 已启用在索引条件下推支持 MariaDB 10.0+
  • 18. TokuDB • 开源 - 分开的 MariaDB 5.5+TokuDB/ 一体化到 10.0.5 • 改进的插入 (10-20x 更快速 ) & 查询速度 , 压缩 ( 直 到 90% 空间减少 ), 复制性能和在线架构的灵活性 • 使用 Fractal Tree Indexes 代替 B-Tree • 在多重平台上测试 & 创建 TokuDB MariaDB 10.0+
  • 19. 线程池 • 由 5.1 修改而来 (libevent 基础 ), 对于绑定 CPU 的加载和短时间的查询运行非常有用 • Windows (threadpool), Linux (epoll), Solaris (event ports), FreeBSD/OSX (kevents) • 不会最小化有动态池大小的并发交易 • thread_handling=pool-of-threads • https://mariadb.com/kb/en/thread-pool-in-mariadb-55/ MariaDB 5.5+
  • 20. 非阻塞用户端库 • 开始操作 , 在线程里工作 , 运行操作 , 结果返回 应用案例 : 争对单一服务器的多重查询 ( 是用更多的 CPUs); 争对多重服务器的查询 ( 许多机器上的 SHOW STATUS) • https://mariadb.com/kb/en/about-non-blocking-operatio • 快速的 node.js 驱动可用 : mariasql MariaDB 5.5+
  • 23. 审计插件 • 日志服务器活动 - 谁连接到服务器 , 运行过什么查询 , 接触过什么表格 - 循环日志文档或者 syslogd • 一个 MYSQL_AUDIT_PLUGIN INSTALL PLUGIN server_audit SONAME ‘server_audit.so’; MariaDB 10.0+
  • 24. 更好的复制 • 有选择性的跳过复制事件 ( 基于期数或在主机上或在从 属机上 ) • 复制变量的动态控制 ( 不用重启 !) • 使用基于行的复制 ? 用 SQL 陈述注解二进制日志 • 从属机在二进制日志事件上执行总校验 • 平行复制 MariaDB 5.3+
  • 25. 更好的复制 II • 在二进制日志中进行集体提交 - 最终 , sync_binlog=1, innodb_flush_log_at_trx_commit=1 执行 • 通 持 的快照 制 始交易过 续 复 开 • mysqldump —single-transaction —master-data - full non- blocking backup • 从属机崩溃安全 ( 数据储存在交易表内部 ) • 多重来源复制 - ( 实时 ) 分析 , 数据分片供应 , 备份等
  • 26. 角色 •捆绑用户到一起 , 用类似的特权 - 依照 SQL 标准 CREATE ROLE audit_bean_counters; GRANT SELECT ON accounts.* to audit_bean_counters; GRANT audit_bean_counters to ceo; MariaDB 10.0+
  • 27. MariaDB Galera Cluster • MariaDB Galera Cluster 是为如今的云基础环境制作 的。它有完整的读 - 写扩展性,以及同步复制功能, 允许多主结构,并保证无延迟或丢失交易。 • 目前基于 5.5 • 10.0 正在测试中 ( 快要准备发布)
  • 28. 被以下公司所信任 • Google • Wikipedia • Tumblr • KakaoTalk • SK Telecom • DAPA • Paybox Services • ERP5, Wendelin
  • 31. 提问 & 解答 colin@mariadb.org | byte@bytebot.net http://skysql.com/ | http://mariadb.org/ twitter: @bytebot | url: http://bytebot.net/blog/

Notas del editor

  1. Powered by mysql++ Used by Wendelin too
  2. Not in 5.6; can assist in migrations from SQL Server/Oracle if its used PERSISTENT is like a materialized view to some extent PERSISTENT columns can be used in secondary indexes
  3. When INSERTing, you cannot leave out the virtual column from the list, and you cannot supply a value either - so use default
  4. You can now select the price in USD, and that column is computed on the fly, and you never need to know that the official price is fixed. However, you don’t do this in practice - computational logic should stay out of the database, in your app - db just for storage
  5. Perl Compatible Regular Expressions recursive patterns, named capture, look-ahead and look-behind assertions, non-capturing groups, non-greedy quantifiers, Unicode character properties, extended syntax for characters and character classes, multi-line matching East asian: big5, gbk, euckr, etc. mysql/previous mariadb is just 8-bit character sets
  6. Define & redefine number of columns + data types on a row-by-row basis w/o altering table config. max total length of packed dynamic column blob: 1gb (max_allowed_packet)
  7. use case: using myisam? port. use case: sphinx does sort, filtering, slicing of result; so you don’t need to use WHERE, ORDER BY, LIMIT <- sphinx is optimised better for this configuring sphinx is something you have to do, run it on another machine
  8. Install it join_cache_level=7 in my.cnf (join_cache_hashed is on in 10) Use cassandra 1.x, not 2.x - data model changes, authentication also (1.2 tested)
  9. OLTP not the target here indexing: reading from file system, OS, or another database engine_condition_pushdown = on (off by default)
  10. Many active threads are a performance killer, because increasing the number of threads leads to extensive context switching, bad locality for CPU caches, and increased contention for hot locks. Enable thread-pool (on Windows on by default). SHOW GLOBAL VARIABLES LIKE '%thread_pool%'; Limit the resources uses by threads (thread_pool_max_threads) We’re porting thread_pool_high_prio_mode=transactions (default) | statements from Percona Server
  11. works with mysql we also changed mytop to show progress reporting when you do an alter table or load data infile
  12. The server counts the number of read, inserted, modified, and deleted rows during query execution. This takes into account the use of temporary tables, and sorting for intermediate query operations. Once the counter exceeds the value specified in the LIMIT ROWS EXAMINED clause, query execution is terminated as soon as possible. Results may be incomplete
  13. Works for everything except a connection served by the query_cache - since no tables are opened
  14. Works with the binlog, possible to obtain the binlog position corresponding to a transactional snapshot of the database without blocking any other queries. - to provision a new slave
  15. 10.0.5 - google summer of code