揭秘微信赌博群 > 嵌入式技术 > 正文

男子赌博输钱报案:一文详解SQL解析与应用

? 2018年06月21日 09:28 ? 次阅读

揭秘微信赌博群 www.b03i.com.cn 数据库作为核心的基础组件,是需要重点?;さ亩韵?。任何一个线上的不慎操作,都有可能给数据库带来严重的故障,从而给业务造成巨大的损失。

为了避免这种损失,一般会在管理上下功夫,比如为研发人员制定数据库开发规范;新上线的SQL,需要DBA进行审核;维护操作需要经过领导审批等等。而且如果希望能够有效地管理这些措施,需要有效的数据库培训,还需要DBA细心的进行SQL审核。很多中小型创业公司可以通过设定规范、进行培训、完善审核流程来管理数据库。

随着美团点评的业务不断发展和壮大,上述措施的实施成本越来越高。如何更多的依赖技术手段,来提高效率,越来越受到重视。业界已有不少基于MySQL源码开发的SQL审核、优化建议等工具,极大的减轻了DBA的SQL审核负担。那么我们能否继续扩展MySQL的源码,来辅助DBA和研发人员来进一步提高效率呢?比如,更全面的SQL优化功能;多维度的慢查询分析;辅助故障分析等。要实现上述功能,其中最核心的技术之一就是SQL解析。

现状与场景

SQL解析是一项复杂的技术,一般都是由数据库厂商来掌握,当然也有公司专门提供SQL解析的API。

由于这几年MySQL数据库中间件的兴起,需要支持读写分离、分库分表等功能,就必须从SQL中抽出表名、库名以及相关字段的值。因此像Java语言编写的Druid,C语言编写的MaxScale,Go语言编写的Kingshard等,都会对SQL进行部分解析。而真正把SQL解析技术用于数据库维护的产品较少,主要有如下几个:

美团点评开源的SQLAdvisor。它基于MySQL原生态词法解析,结合分析SQL中的where条件、聚合条件、多表Join关系给出索引优化建议。

上述产品都有非常合适的应用场景,在业界也被广泛使用。但是SQL解析的应用场景远远没有被充分发掘,比如:

基于表粒度的慢查询报表。比如,一个Schema中包含了属于不同业务线的数据表,那么从业务线的角度来说,其希望提供表粒度的慢查询报表。

生成SQL特征。将SQL语句中的值替换成问号,方便SQL归类。虽然可以使用正则表达式实现相同的功能,但是其Bug较多,可以参考pt-query-digest。比如pt-query-digest中,会把遇到的数字都替换成“?”,导致无法区别不同数字后缀的表。

高危操作确认与规避。比如,DBA不小心Drop数据表,而此类操作,目前还无有效的工具进行回滚,尤其是大表,其后果将是灾难性的。

SQL合法性判断。为了安全、审计、控制等方面的原因,美团点评不会让研发人员直接操作数据库,而是提供RDS服务。尤其是对于数据变更,需要研发人员的上级主管进行业务上的审批。如果研发人员,写了一条语法错误的SQL,而RDS无法判断该SQL是否合法,就会造成不必要的沟通成本。

因此为了让所有有需要的业务都能方便地使用SQL解析功能,我们认为应该具有如下特性:

直接暴露SQL解析接口,使用尽量简单。比如:输入SQL,则输出表名、特征和优化建议。

接口的使用不依赖于特定的语言,否则维护和使用的代价太高。比如:以HTTP等方式提供服务。

千里之行,始于足下,下面我先介绍下SQL的解析原理。

原理

SQL解析与优化是属于编译器范畴,和C语言等其他语言的解析没有本质的区别。其中分为词法分析、语法和语义分析、优化、执行代码生成。对应到MySQL的部分,如下图:

一文详解SQL解析与应用

SQL解析原理

1、词法分析

SQL解析由词法分析和语法/语义分析两个部分组成。词法分析主要是把输入转化成一个个Token。其中Token中包含Keyword(也称symbol)和非Keyword。例如:SQL语句select username from userinfo,在分析之后,会得到4个Token,其中有2个Keyword,分别为select和from:

一文详解SQL解析与应用

通常情况下,词法分析可以使用Flex来生成。

但是MySQL并未使用该工具,而是手写了词法分析部分。具体代码在sql/lex.h和sql/sql_lex.cc文件中。

MySQL中的Keyword定义在sql/lex.h中,如下为部分Keyword:

一文详解SQL解析与应用

词法分析的核心代码在sql/sql_lex.c文件中的MySQLLex→lex_one_Token,有兴趣的同学可以下载源码研究。

2、语法分析

语法分析就是生成语法树的过程。这是整个解析过程中最精华、最复杂的部分,不过这部分MySQL使用了Bison来完成。即使如此,如何设计合适的数据结构以及相关算法,去存储和遍历所有的信息,也是值得在这里研究的。

语法分析树

SQL语句:

select username, ismale from userinfo where age 》 20 and level 》 5 and 1 = 1

会生成如下语法树:

一文详解SQL解析与应用

语法树

对于未接触过编译器实现的同学,肯定会好奇如何才能生成这样的语法树,不过其背后的原理都是编译器的范畴,大家可以参考维基百科的一篇文章,以及该链接中的参考书籍。本人也是在学习MySQL源码过程中,阅读了部分内容。

由于编译器涉及的内容过多,本人经历和时间有限,不做过多探究。从工程的角度来说,学会如何使用Bison去构建语法树,来解决实际问题,对我们的工作也许有更大帮助。下面我就以Bison为基础,探讨该过程。

MySQL语法分析树生成过程

全部的源码在sql/sql_yacc.yy中,在MySQL5.6中有17K行左右代码。这里列出涉及到SQL:

select username, ismale from userinfo where age 》 20 and level 》 5 and 1 = 1

解析过程的部分代码摘录出来。其实有了Bison之后,SQL解析的难度也没有想象的那么大。特别是这里给出了解析的脉络之后。

代码示下:

一文详解SQL解析与应用

一文详解SQL解析与应用

一文详解SQL解析与应用

上下拉动可完整查看

在大家浏览上述代码的过程,会发现Bison中嵌入了C++的代码。通过C++代码,把解析到的信息存储到相关对象中。例如表信息会存储到TABLE_LIST中,order_list存储order by子句里的信息,where字句存储在Item中。有了这些信息,再辅助以相应的算法就可以对SQL进行更进一步的处理了。

核心数据结构及其关系

在SQL解析中,最核心的结构是SELECT_LEX,其定义在sql/sql_lex.h中。下面仅列出与上述例子相关的部分。

一文详解SQL解析与应用

SQL解析树结构

上面图示中,列名username、ismale存储在item_list中,表名存储在table_list中,条件存储在where中。其中以where条件中的Item层次结构最深,表达也较为复杂,如下图所示:

一文详解SQL解析与应用

where条件

SQL解析的应用

为了更深入的了解SQL解析器,这里给出2个应用SQL解析的例子:

1、无用条件去除

“无用条件去除”属于优化器的逻辑优化范畴,仅仅根据SQL本身以及表结构即可完成,其优化的情况较多,代码在sql/sql_opTImizer.cc文件中的remove_eq_conds函数。为了避免过于繁琐的描述,以及大段代码的粘贴,这里通过图片来分析以下四种情况:

1=1 and (m 》 3 and n 》 4)

1=2 and (m 》 3 and n 》 4)

1=1 or (m 》 3 and n 》 4)

1=2 or (m 》 3 and n 》 4)

无用条件去除a:

一文详解SQL解析与应用

无用条件去除b

一文详解SQL解析与应用

无用条件去除c

一文详解SQL解析与应用

无用条件去除d

一文详解SQL解析与应用

如果对其代码实现有兴趣的同学,需要对MySQL中的一个重要数据结构Item类有所了解。因为其比较复杂,所以MySQL官方文档专门介绍了Item类。

参考链接:https://dev.mysql.com/doc/internals/en/item-class.html

阿里的MySQL小组也有类似的文章。如需更详细的了解,就需要去查看源码中sql/item_*等文件。

2、SQL特征生成

为了确保数据库这一系统基础组件稳定、高效运行,业界有很多辅助系统。比如慢查询系统、中间件系统。这些系统采集、收到SQL之后,需要对SQL进行归类,以便统计信息或者应用相关策略。归类时,通常需要获取SQL特征。比如SQL:

select username, ismale from userinfo where age 》 20 and level 》 5;

SQL特征为:

select username, ismale from userinfo where age 》 ? and level 》 ?

业界著名的慢查询分析工具pt-query-digest,通过正则表达式实现这个功能,但是这类处理办法Bug较多。接下来就介绍如何使用SQL解析,完成SQL特征的生成。

SQL特征生成分两部分组成:

生成Token数组;

根据Token数组,生成SQL特征。

首先回顾在词法解析章节,我们介绍了SQL中的关键字,并且每个关键字都有一个16位的整数对应,而非关键字统一用ident表示,其也对应了一个16位整数。如下表:

一文详解SQL解析与应用

将一个SQL转换成特征的过程:

一文详解SQL解析与应用

在SQL解析过程中,可以很方便的完成Token数组的生成。而一旦完成Token数组的生成,就可以很简单的完成SQL特征的生成。SQL特征被广泛用于各个系统中,比如pt-query-digest需要根据特征对SQL归类,然而其基于正则表达式的实现有诸多Bug。下面列举几个已知的Bug:

一文详解SQL解析与应用

学习建议

最近,在对SQL解析器和优化器探索的过程中,从一开始的茫然无措到有章可循,也总结了一些心得体会,在这里跟大家分享一下:

首先,阅读相关书籍,书籍能给我们一个系统的认识解析器和优化器的角度。但是该类针对MySQL的书籍市面上很少,目前中文作品可以看下《数据库查询优化器的艺术:原理解析与SQL性能优化》;

其次,要阅读源码,但是最好以某个版本为基础,比如MySQL5.6.23,因为SQL解析、优化部分的代码在不断变化,尤其是在跨越大的版本时,改动力度大;

再次,多使用GDB调试,验证自己的猜测,检验阅读质量;

最后,需要写相关代码验证,只有写出来了才能算真正的掌握。

技术专区

关注电子发烧友微信

有趣有料的资讯及技术干货

下载发烧友APP

打造属于您的人脉电子圈

关注发烧友课堂

锁定最新课程活动及技术直播
收藏 人收藏
分享:

评论

相关推荐

可以远程监控服务的灭火系统

在福建南安市天广消防有限公司办公区,一个约6平方米的大屏幕引人注目,屏幕中间的地图上,集美、海沧等地...

发表于 2018-06-20 09:00 ? 21次阅读
可以远程监控服务的灭火系统

随时都能在手指上检测你是否贫血的塑料传感器

智能手机从多方面改变了我们的生活,不管是娱乐,还是医疗健康,Sano Intelligence最近就...

发表于 2018-06-11 09:11 ? 21次阅读
随时都能在手指上检测你是否贫血的塑料传感器

如何让tSNE在大型、高维数据库上实时进行可视化...

tSNE是目前最为流行的一种高维数据降维的算法。在大数据时代,数据不仅越来越多,而且变得越来越复杂,...

发表于 2018-06-10 10:06 ? 693次阅读
如何让tSNE在大型、高维数据库上实时进行可视化...

人工智能可凭步态识人基本无误差

导读: 英国和西班牙研究人员开发出一套人工智能系统,辨别步态,进而识别身份,测试显示准确率达到99....

发表于 2018-06-09 08:43 ? 301次阅读
人工智能可凭步态识人基本无误差

高速现场总线技术对数控设备的重要

数控设备在现代制造系统中处于基础、核心地位。随着工业控制技术的飞速发展和不断创新,现有数控设备的控制...

发表于 2018-06-07 09:41 ? 55次阅读
高速现场总线技术对数控设备的重要

关于高并发和秒杀系统基本的概念的建立

拒绝假的分布式尤其重要,比如:前端服务器是可以独立存在的,但是都依赖集中的一个数据库或者缓存系统,那...

发表于 2018-06-04 17:10 ? 254次阅读
关于高并发和秒杀系统基本的概念的建立

企业如何选择云计算数据库?

近年来,企业将本地部署的数据迁移云端越来越成为一种趋势。但是,企业是否应该使用在云端和本地运行的云原...

发表于 2018-06-04 01:41 ? 52次阅读
企业如何选择云计算数据库?

数据库操作,实现单击列表框某一行显示对应数据波形的时候提示变量的数据类型与类型输入连线的数据类型不兼容

发表于 2018-06-02 19:29 ? 232次阅读
数据库操作,实现单击列表框某一行显示对应数据波形的时候提示变量的数据类型与类型输入连线的数据类型不兼容

数据库连接,插入的时候给我弹了错误,是不是我的UDL连接有问题?

发表于 2018-06-02 14:34 ? 364次阅读
数据库连接,插入的时候给我弹了错误,是不是我的UDL连接有问题?

数据库存储 哪里有问题 急呀 怎么回事

发表于 2018-06-01 16:13 ? 201次阅读
数据库存储 哪里有问题  急呀 怎么回事

浅谈分布式块存储的元数据服务设计

一般来说,我们根据存储的访问接口以及应用场景,把分布式存储分为三种类型,包括分布式块存储,分布式文件...

发表于 2018-05-31 07:36 ? 82次阅读
浅谈分布式块存储的元数据服务设计

大神教你:利用 RFID 重建数据库中心

萨班斯-奥克斯利法案 (Sarbanes-Oxley)(1)和关于数据存储与使用有关的 Health...

发表于 2018-05-24 10:29 ? 661次阅读
大神教你:利用 RFID 重建数据库中心

数据库防火墙技术应用

数据库防火墙顾名思义是一款数据(库)安全设备,从防火墙这个词可以看出,其主要作用是做来自于外部的危险...

发表于 2018-05-21 02:02 ? 151次阅读
数据库防火墙技术应用

存储双活:怎样拥抱业务集群和虚拟机

存储双活已家喻户晓人人皆知,但是,你知道存储双活+虚拟化+应用集群,应该如何部署呢?

发表于 2018-05-17 15:30 ? 108次阅读
存储双活:怎样拥抱业务集群和虚拟机

数据库应用:写入读取

发表于 2018-05-15 11:02 ? 414次阅读
数据库应用:写入读取

数据库里插入数据

发表于 2018-05-11 23:12 ? 326次阅读
数据库里插入数据

数据库厂商都怕低价竞争?阿里云说并不可惧

发表于 2018-05-11 11:02 ? 171次阅读
数据库厂商都怕低价竞争?阿里云说并不可惧

MySQL数据库误删后的回复技巧

在日常运维工作中,对于数据库的备份是至关重要的!数据库对于网站的重要性使得我们对 MySQL 数据库...

发表于 2018-05-05 08:02 ? 377次阅读
MySQL数据库误删后的回复技巧

15种算法玩转Neo4j数据库

由于Neo4j是将原生图平台中的分析和事务操作结合在一起,用户不仅可以揭示真实世界系统的内在本质,还...

发表于 2018-05-03 15:01 ? 348次阅读
15种算法玩转Neo4j数据库

FPGA:X-DB异构计算实现百万级TPS的技巧

X-Engine 是集团数据库事业部研发的新一代存储引擎,是新一代分布式数据库X-DB的根基。为了达...

发表于 2018-05-02 08:31 ? 96次阅读
FPGA:X-DB异构计算实现百万级TPS的技巧

Memblaze的PBlaze5、Intel的P...

4K随机写同样有着优异的成绩,StorageReview在报告中指出PBlaze5在597,647 ...

发表于 2018-05-01 17:07 ? 656次阅读
Memblaze的PBlaze5、Intel的P...

边干边学数据库应用PDF加源代码

发表于 2018-05-01 11:27 ? 219次阅读
边干边学数据库应用PDF加源代码

将数据插入数据库时的插入语句应该怎么写?我写的这个一直有错误

发表于 2018-05-01 11:15 ? 399次阅读
将数据插入数据库时的插入语句应该怎么写?我写的这个一直有错误

直击DTCC2018 阿里数据库技术干货全面解析

发表于 2018-04-27 17:58 ? 744次阅读
直击DTCC2018 阿里数据库技术干货全面解析

全球唯一:MySQL社区2018年度公司贡献奖颁给阿里云

发表于 2018-04-25 11:51 ? 247次阅读
全球唯一:MySQL社区2018年度公司贡献奖颁给阿里云

一文读懂数据的可靠性和持久性

可靠性到底是个啥 越是基本而关键的概念,越容易误解满天飞。像“可靠性”这种被不断提及的名词,如果仔细...

发表于 2018-04-24 16:56 ? 318次阅读
一文读懂数据的可靠性和持久性

数据库入门书籍推荐

 数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今六十多年前,随着...

发表于 2018-04-13 10:43 ? 1301次阅读
数据库入门书籍推荐

LabNotebook数据库结构 LabNote...

力科的示波器上都有一个叫做 LabNotebook 报告生成器,它是一个非常强大的归档和备注编辑工具...

发表于 2018-04-10 09:50 ? 76次阅读
LabNotebook数据库结构 LabNote...

用人工智能对人类进行情绪计算这是门好生意吗

东京大学教授Toshihiko?Yamasaki计划开发一个机器学习系统来评估TED演讲视频的质量。...

发表于 2018-03-20 03:12 ? 99次阅读
用人工智能对人类进行情绪计算这是门好生意吗

人工智能技术新技能_可以提前10年发现老年痴呆症

世界各地的研究人员都在研究如何尽早发现老年痴呆症。毕竟,早期发现能让人们找到合适的治疗方法,从而减缓...

发表于 2018-03-19 09:17 ? 87次阅读
人工智能技术新技能_可以提前10年发现老年痴呆症

区块链的本质是什么,区块链为什么落后

“去中心化”几乎和区块链技术一起成为了这段时间的大热之词,然而区块链是否就一定要“去中心化”,这是创...

发表于 2018-03-14 15:57 ? 905次阅读
区块链的本质是什么,区块链为什么落后

目前技术停滞不前_搜索引擎的未来在哪里

6月20日消息,国外科技媒体Venturebeat撰文对搜索创新乏力的现状进行剖析,并指出未来的搜索...

发表于 2018-03-13 03:42 ? 168次阅读
目前技术停滞不前_搜索引擎的未来在哪里

一文看懂数据库原理与应用

本文开始介绍了数据库的原理与数据库特点,其次阐述了数据库的基本结构与数据库的数据种类,最后介绍了数据...

发表于 2018-03-06 12:19 ? 1941次阅读
一文看懂数据库原理与应用

数据库引擎是什么

数据库引擎是用于存储、处理和?;な莸暮诵姆?。利用数据库引擎可控制访问权限并快速处理事务,从而满足...

发表于 2018-02-24 14:43 ? 843次阅读
数据库引擎是什么

数据库引擎如何安装

数据库脚本项目由与数据库或数据库的一部分相关联的一系列脚本、连接信息和模板组成。Microsoft ...

发表于 2018-02-24 14:12 ? 752次阅读
数据库引擎如何安装

数据仓库是什么_数据仓库有什么特点_数据库和数据...

数据仓库是一个面向主题的、集成的、不可更新的、随时间不断变化的数据集合,它用于支持企业或组织的决策分...

发表于 2018-02-24 14:04 ? 479次阅读
数据仓库是什么_数据仓库有什么特点_数据库和数据...

常用的数据库引擎有哪些_数据库引擎分类

数据库引擎是用于存储、处理和?;な莸暮诵姆?。利用数据库引擎可控制访问权限并快速处理事务,从而满足...

发表于 2018-02-24 13:56 ? 881次阅读
常用的数据库引擎有哪些_数据库引擎分类

mybatis动态sql详解

本文详细介绍了mybatis执行动态sql语句的方法。

发表于 2018-02-24 11:37 ? 284次阅读
mybatis动态sql详解

医院SQL数据库系统语句优化

本文就如何优化大型数据库的性能进行了一些探索,提出了优化数据库访问性能的若干策略,特别是对SQL语句...

发表于 2018-02-17 20:26 ? 575次阅读
医院SQL数据库系统语句优化

区块链和数据库优势PK 哪种更好用?

区块链突然在金融领域爆红,但是不要把区块链想的过于高深,其实它的本质很简单,就是一个网上的公布账本。...

发表于 2018-02-13 12:53 ? 535次阅读
区块链和数据库优势PK  哪种更好用?

数据仓库是什么_数据仓库的特点_数据仓库与数据库...

本文开始介绍了数据仓库是什么,其次详细介绍了数据仓库的特点、数据仓库的基本架构与数据仓库用途,最后介...

发表于 2018-02-11 10:42 ? 1177次阅读
数据仓库是什么_数据仓库的特点_数据仓库与数据库...

冷备份的优缺点_数据库冷备份教程详解

冷备份发生在数据库已经正常关闭的情况下,当正常关闭时会提供给我们一个完整的数据库。冷备份是将关键性文...

发表于 2018-02-10 10:42 ? 181次阅读
冷备份的优缺点_数据库冷备份教程详解

Oracle的数据库业务每况愈下 NoSQL和A...

对于昔日的企业应用软件而言,Oracle是很出色的数据库,可是它并不适合现代的大数据应用软件。

发表于 2018-02-09 14:09 ? 1523次阅读
Oracle的数据库业务每况愈下 NoSQL和A...

intouch与sql数据库连接方法

InTouch是一种工业自动化组态软件,Wonderware公司产品。Wonderware公司成立于...

发表于 2018-02-09 11:43 ? 687次阅读
intouch与sql数据库连接方法

利用eclipse连接数据库

本文详细介绍了如何利用eclipse连接数据库,请看下文步骤解说。

发表于 2018-02-06 10:10 ? 217次阅读
利用eclipse连接数据库

jdbc连接数据库的五个步骤

jdbc连接数据库的五个步骤:1、创建数据库的连接2、创建一个Statement3、执行SQL语句4...

发表于 2018-02-05 19:08 ? 2073次阅读
jdbc连接数据库的五个步骤

几种常见数据库的特点和区别

本文主要介绍了几种常见数据库的特点和区别。简单来说是本身可视为电子化的文件柜——存储电子文件的处所,...

发表于 2018-02-05 11:25 ? 1976次阅读
几种常见数据库的特点和区别

数据库技术发展的三个特征_当今主流数据库技术发展...

数据库技术是计算机科学的重要分支,主要研究如何安全高效地管理大量、持久、共享的数据。数据库技术是现代...

发表于 2018-02-05 11:07 ? 1946次阅读
数据库技术发展的三个特征_当今主流数据库技术发展...

简单分享3种运维工具体系

发布变更流程管理工具:做为系统接口与其他角色的工作衔接。并提供审批环节控制发布变更的风险。流程管理工...

发表于 2018-02-05 09:04 ? 1167次阅读
简单分享3种运维工具体系

浅谈数据库技术的应用与发展

随着现在信息化建设进程的稳步推进,数据库技术也得到广泛的应用。在本文中会就数据库的特点、应用的相关技...

发表于 2018-02-04 12:10 ? 938次阅读
浅谈数据库技术的应用与发展

目前流行的数据库_构建数据库系统的流程

本文主要介绍了目前流行的数据库以及构建数据库系统的流程??梢园咽菘舛ㄒ逦莸募?,或者说数据库就...

发表于 2018-02-04 11:22 ? 565次阅读
目前流行的数据库_构建数据库系统的流程

数据库的基本概念和应用领域

可以把数据库定义为数据的集合,或者说数据库就是为了实现一定的目的而按某种规则组织起来的数据的集合。数...

发表于 2018-02-04 10:40 ? 326次阅读
数据库的基本概念和应用领域

数据库的发展历史分为哪几个阶段_各有什么特点

数据库的发展历史经历了人工管理、文件系统和数据库系统三个发展阶段。数据库系统阶段特点为:1、数据结构...

发表于 2018-02-04 10:36 ? 767次阅读
数据库的发展历史分为哪几个阶段_各有什么特点

MySQL 超级入门教程以及MySQL 资源大全...

MySQL数据库入门看这篇就够了,非常全面!

发表于 2018-02-03 15:01 ? 717次阅读
MySQL 超级入门教程以及MySQL 资源大全...

jdbc与mybatis的区别

MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis ...

发表于 2018-02-02 17:43 ? 850次阅读
jdbc与mybatis的区别

基于中国人工智能学者主要分布领域的详细分析

中国人工智能学者主要分布在以下领域:数据挖掘、机器学习、计算机视觉、数据库、自然语言处理、图像处理、...

发表于 2018-02-02 14:24 ? 1598次阅读
基于中国人工智能学者主要分布领域的详细分析

10种常见的软件体系架构模式分析以及它们的用法、...

架构模式是一个通用的、可重用的解决方案,用于在给定上下文中的软件体系结构中经常出现的问题。架构模式与...

发表于 2018-01-31 12:39 ? 1210次阅读
10种常见的软件体系架构模式分析以及它们的用法、...

什么是区块链_区块链技术的优势

区块链区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。所谓共识机制...

发表于 2018-01-30 18:20 ? 979次阅读
什么是区块链_区块链技术的优势

机器学习入门需要掌握的八大基础概念

自然语言处理对于许多机器学习方法来说是一个常用的概念,它使得计算机理解并使用人所读或所写的语言来执行...

发表于 2018-01-30 10:45 ? 1146次阅读
机器学习入门需要掌握的八大基础概念

回顾2017年有趣的新发行的数据库

数据库世界并不是每周都有让人不可思议的新闻,但在一年的时间里,我还是惊讶地发现,我们看到了很多新事物...

发表于 2018-01-21 11:20 ? 1664次阅读
回顾2017年有趣的新发行的数据库

区块链是什么_简单通俗易懂的介绍

区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。所谓共识机制是区块...

发表于 2018-01-15 18:33 ? 1344次阅读
区块链是什么_简单通俗易懂的介绍

常见几种大数据技术比较分析

每一种技术都有它的应用场景,在这篇文章里我们想要讨论的是一种操作型大数据解决方案,所以我们花了不少笔...

发表于 2018-01-05 15:34 ? 4251次阅读
常见几种大数据技术比较分析

应用服务器和数据库服务器怎么连接

打开“SQL Server 外围应用配置器” --》选择“服务和连接的外围应用配置器” –》选择“服...

发表于 2018-01-02 10:31 ? 1656次阅读
应用服务器和数据库服务器怎么连接

django是什么_django能做什么

Django是一个开放源代码的Web应用框架,由Python写成。采用了MT‘V的框架模式,即模型M...

发表于 2017-12-27 11:38 ? 1119次阅读
django是什么_django能做什么

ajax如何获取数据库数据

数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今五十年前,随着信息...

发表于 2017-12-27 10:55 ? 844次阅读
ajax如何获取数据库数据

mysql和oracle的区别是什么

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款...

发表于 2017-12-26 16:35 ? 871次阅读
mysql和oracle的区别是什么

navicat连接名有什么用_如何使用navic...

navicat连接名作用:连接名下面不同的主机名用户名会连到不同的数据库,有个连接名便于区别数据库m...

发表于 2017-12-26 14:24 ? 2351次阅读
navicat连接名有什么用_如何使用navic...

Linux之HA高可用集群知识,学到就是赚到

HA(High Availability)高可用集群,其特点为根据实际需求为前端Diretor,后端...

发表于 2017-12-23 07:10 ? 1514次阅读
Linux之HA高可用集群知识,学到就是赚到

谷歌用ML模型替代数据库组件,或彻底改变数据系统...

本周,谷歌团队在arXiv上传了一篇论文,探讨用机器学习取代数据库索引,引发了大量的关注和讨论。作者...

发表于 2017-12-14 16:50 ? 1842次阅读
谷歌用ML模型替代数据库组件,或彻底改变数据系统...

基于COM技术的SCADA系统数据库设计

介绍了一种基于组件对象模型(COM)的SCADA数据库系统设计方案,其中的系统数据库结构设计遵循IE...

发表于 2017-12-06 15:22 ? 271次阅读
基于COM技术的SCADA系统数据库设计

SparkSQL节点访问双主的元数据库主要的两种...

点击上方“中兴开发者社区”,关注我们 每天读一篇一线开发者原创好文 来源 | 中兴大数据 “ 开源的...

发表于 2017-12-06 10:10 ? 449次阅读
SparkSQL节点访问双主的元数据库主要的两种...

移动Agent嵌入式移动数据库详解及实现查询优化

随着网络技术的迅速发展和不断渗透,在任何地点和任何时候都能接入网络获取各种信息,必将成为21世纪人类...

发表于 2017-12-01 17:14 ? 292次阅读
移动Agent嵌入式移动数据库详解及实现查询优化

帮助优化MySQL数据库性能的7个技巧

随着尺寸和负载的增长,MySQL的性能会趋于下降。记住这些诀窍,便可保持MySQL的流畅运行。 测量...

发表于 2017-11-30 15:03 ? 192次阅读
帮助优化MySQL数据库性能的7个技巧

“NoSQL”的定义、作用和使用方法详细说明

NoSQL 这个词在近些年正变得随处可见. 但是到底 “NoSQL” 指的是什么? 它是如何并且为什...

发表于 2017-11-29 11:45 ? 786次阅读
“NoSQL”的定义、作用和使用方法详细说明

SQL Server游标语句的使用方法介绍

  游标属于行级操作 消耗很大 SQL查询是基于数据集的所以一般查询能有 能用数据集 就用数据集 别...

发表于 2017-11-29 09:08 ? 261次阅读
SQL Server游标语句的使用方法介绍

创建计算字段的分析

创建在数据库表中的数据一般不是应用程序所需要的格式。 我们需要从数据库中检索出 转换、计算或格式化 ...

发表于 2017-11-28 17:37 ? 169次阅读
创建计算字段的分析

SQL Server数据库学习总结

经过一段时间的学习,也对数据库有了一些认识。数据库基本是由表,关系,操作组成;对于初学者首先要学的:...

发表于 2017-11-28 17:36 ? 1037次阅读
SQL Server数据库学习总结

SQL中on条件与where条件的区别

SQL中on条件与where条件的区别 数据库在通过连接两张或多张表来返回记录时,都会生成一张中间的...

发表于 2017-11-28 14:34 ? 453次阅读
SQL中on条件与where条件的区别

浅谈分析性数据库的读写分离实现原理

数据仓库当中需要同时存在 WOS 和 ROS,这样对于所有的写操作我们都生成 WOS 型文件;同时所...

发表于 2017-11-26 11:17 ? 1397次阅读
浅谈分析性数据库的读写分离实现原理

Redis基本类型和底层实现

简单介绍了Redis的五种对象类型和它们的底层实现。事实上,Redis的高效性和灵活性正是得益于对于...

发表于 2017-11-25 15:11 ? 1088次阅读
Redis基本类型和底层实现

如何为微服务选择数据库

你的微服务架构需要多种数据模型。你是应该选择混合持久化呢还是多模型数据库? 在过去的十年,大规模的分...

发表于 2017-11-23 10:55 ? 386次阅读
如何为微服务选择数据库

数据库引擎及底层实现原理

数据库引擎是用于存储、处理和?;な莸暮诵姆?。利用数据库引擎可控制访问权限并快速处理事务,从而满足...

发表于 2017-11-22 09:11 ? 1527次阅读
数据库引擎及底层实现原理

php数据库读出乱码是说明原因及其解决方法

一般来说,乱码的出现有2种原因,首先是由于编码(charset)设置错误,导致浏览器以错误的编码来解...

发表于 2017-11-19 15:53 ? 348次阅读
php数据库读出乱码是说明原因及其解决方法

24C021无法读出数据原因及解决方法

原因是:单片机接收应答信号(向AT24C02写数据时)和发送应答信号(AT24C02向单片机发送数据...

发表于 2017-11-19 15:41 ? 280次阅读
24C021无法读出数据原因及解决方法

sql数据库视图的作用解析

 在一个项目的实际开发过程中牵涉到复杂业务的时候,我们不可避免的需要使用中间表来进行数据连接,有的同...

发表于 2017-11-17 16:47 ? 309次阅读
sql数据库视图的作用解析

sql连接数据库语句怎么写?sql连接数据库语句...

数据库的实质为数据的集合,数据库是根据数据结构来组织、存储和管理数据的仓库。随着数据库技术的不断发展...

发表于 2017-11-17 16:16 ? 501次阅读
sql连接数据库语句怎么写?sql连接数据库语句...

数据库常用sql语句汇总

对于数据库服务器,现在市面上流行的有很多,个人使用过的有Oracle、Mysql和DB2,个人最喜欢...

发表于 2017-11-17 15:37 ? 777次阅读
数据库常用sql语句汇总

sql注入攻击的基本原理解析

SQL注入即是指web应用程序对用户输入数据的合法性没有判断,攻击者可以在web应用程序中事先定义好...

发表于 2017-11-17 15:14 ? 526次阅读
sql注入攻击的基本原理解析

如何防止sql注入攻击的方法解析

如果一个普通用户在使用查询语句中嵌入另一个Drop Table语句,那么是否允许执行呢?由于Drop...

发表于 2017-11-17 14:40 ? 379次阅读
如何防止sql注入攻击的方法解析

sql注入攻击实例讲解

 “SQL注入”是一种利用未过滤/未审核用户输入的攻击方法(“缓存溢出”和这个不同),意思就是让应用...

发表于 2017-11-17 14:07 ? 451次阅读
sql注入攻击实例讲解

sql语句实例讲解

SQL是用来存取关系数据库的语言,具有查询、操纵、定义和控制关系型数据库的四方面功能。常见的关系数据...

发表于 2017-11-17 12:39 ? 1234次阅读
sql语句实例讲解

sql和sql server的区别总结分析

1.SQL是数据库查询语言,是一种用于数据库操作的语言,被作为关系型数据库的标准语言??梢圆檠?,定义...

发表于 2017-11-17 08:54 ? 657次阅读
sql和sql server的区别总结分析

百度运用FPGA方法大规模加速SQL查询

对于百度的百亿亿级问题,在所有数据的接受端是一系列用于数据分析的框架和平台,从该公司的海量知识图谱,...

发表于 2017-11-16 16:37 ? 147次阅读
百度运用FPGA方法大规模加速SQL查询

sessionfactory怎么调用数据库

SessionFactory是一个计算机语言,指的是负责创建Session的核心接口,它充当数据存储...

发表于 2017-11-16 14:44 ? 366次阅读
sessionfactory怎么调用数据库

oltp和olap的区别_怎么辨别oltp和ol...

当今的数据处理大致可以分成两大类:联机事务处理OLTP(on-line transaction pr...

发表于 2017-11-13 11:21 ? 341次阅读
oltp和olap的区别_怎么辨别oltp和ol...

机器学习如何调优数据库

在延迟方面,相比 Postgres 默认配置,OtterTune、调优工具、DBA 和 RDS 的配...

发表于 2017-11-07 13:50 ? 198次阅读
机器学习如何调优数据库

详解数据库中间件的作用

随着时间的推移,数据量会越来越大,base-service通过DAO来访问db的性能会越来越低,需要...

发表于 2017-11-03 16:37 ? 1096次阅读
详解数据库中间件的作用

AI诊断结肠直肠癌,准确率达86%

AI可以用来诊断癌症。日本研究人员找到一套方法,可以用AI诊断结肠直肠癌肿瘤,在肿瘤变成恶性肿瘤之前...

发表于 2017-10-31 17:17 ? 155次阅读
AI诊断结肠直肠癌,准确率达86%

一文读懂如何解决MySQL数据库超时配置问题

1. JDBC超时设置 2. 连接池超时设置 3. MyBatis查询超时 4. 事务超时

发表于 2017-10-25 16:28 ? 358次阅读
一文读懂如何解决MySQL数据库超时配置问题

浅析MCR框架的Web热力学数据库架构模式及其优...

实现数值计算引擎接口定义的具体的热力学数值计算方法,这些方法封装了各种热力学基本计算公式的求解过程,...

发表于 2017-10-23 16:48 ? 296次阅读
浅析MCR框架的Web热力学数据库架构模式及其优...
  • 池莉:她构建了一座叫“生活”的城 2018-12-13
  • GreatNews The Intelligent RSS Reader 2018-12-13
  • 377| 363| 796| 800| 495| 235| 79| 511| 639| 524|