数据库
文章平均质量分 69
嘿哈哈哈
人生就像一场演出,不到谢幕永远不知道自己有多精彩。
展开
-
使用 SQL 进行查找替换
使用 SQL 进行查找替换原创 2022-06-06 16:03:24 · 2402 阅读 · 0 评论 -
Go,Gorm 和 Mysql 是如何防止 SQL 注入的
Go,Gorm 和 Mysql 是如何防止 SQL 注入的SQL 注入和 SQL 预编译技术什么是 SQL 注入所谓SQL注入(sql inject),就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。具体来说,它是利用现有应用程序,将(恶意的)SQL命令注入到后台数据库引擎执行的能力,它可以通过在Web表单中输入(恶意)SQL语句得到一个存在安全漏洞的网站上的数据库,而不是按照设计者意图去执行SQL语句。SQL 注入例子如下所示原创 2020-08-21 11:54:15 · 10011 阅读 · 4 评论 -
《Hadoop生态系统:Hadoop学习框架》
关键技术HDFS完全集成,高大容量、容错性、可存储非常大的数据集的廉价存储MapReduce完全集成,高一种处理大数据的编程范式YARN完全集成,中数据处理Spark完全集成,高数据处理/存储数据库及数据管理CassandraAPI兼容,高键值存储HBase完全集成,高列族数据库Accumulo完全集成,高...原创 2018-10-29 20:32:07 · 229 阅读 · 0 评论 -
NoSQL:图数据库
图数据库可存放实体及实体间关系。实体也叫“节点”(node),它们具有属性(property)。可将节点视为应用程序中某对象的实例。关系又叫“边”(edge),它们也有属性。边具备方向性(directional significance),而节点则按关系组织起来,以便在其中查找所需模式。用图将数据一次性组织好,稍后便可根据“关系”以不同方式解读它。什么是图数据库查询图也称“遍历”(trave...原创 2018-10-15 22:17:13 · 943 阅读 · 0 评论 -
NoSQL:列族数据库
列族数据库可以存储关键字及其映射值,并且可以把值分成多个列族,让每个列族代表一张数据映射表(map of data)。下表是关系型数据库Oracle和列族数据库Cassandra的术语对比:OracleCassandra数据库实例(database instance)集群(cluster)数据库(database)键空间(keyspace)表(table)...原创 2018-10-15 21:50:44 · 8919 阅读 · 1 评论 -
NoSQL:文档数据库
“文档”是文档数据库中的主要概念。此类数据库可存放并获取文档,其格式可以是XML、JSON、BSON等,这些文档具备可述性(self-describing),呈现分层的树状结构(hierarchical tree data structure),可以包含映射表、集合和纯量值。数据库中的文档彼此相似,但不必完全相同。文档数据库所存放的文档,就相当于键值数据库所存放的“值”。文档数据库可视为其值可查的...原创 2018-10-15 21:07:04 · 12447 阅读 · 0 评论 -
NoSQL:混合持久化
我们不能只用一种“数据库引擎”(database engine)来应对所有需求,要使用不同的数据库来解决不同的问题,为每种问题选择最合适的数据库。例如,关系型数据库善于确保数据之间确实存在关系,然而如果要探寻关系,或是从不同表中找出属于同一对象的数据,那么使用关系型数据库就很困难了。这种解决持久化问题的混合方式(hybrid approach)定义为“混合持久化”(polyglot persis...原创 2018-10-18 21:17:42 · 924 阅读 · 0 评论 -
NoSQL:模式迁移
数据库模式变更脚本最好能在开发阶段编写,因为这样做可以把模式变更信息与数据迁移脚本存在同一份脚本文件中。但是很多时候,我们需要修改已经上线的数据库的模式。在NoSQL的应用程序改变模式后,必须把既有数据全都转化成新模式才行。还有一个很常用的解决办法,就是确保改变模式之前的那些旧数据仍然可以为新代码所解析,而在保存时,将其以新模式写会数据库。这种渐进迁移数据的技术,就叫“增量迁移”(increm...原创 2018-10-18 21:05:05 · 441 阅读 · 0 评论 -
NoSQL:键值数据库
键值数据库(key-value store)是一张简单的哈希表(hash table),主要用在所有数据库访问均通过主键(primary key)来操作的情况下。应用程序可以提供键和值,并将这一键值对持久化。假如键已存在,就用新值覆盖当前值,否则就新建一条数据。下表是关系型数据库Oracle和键值数据库Riak的术语对比:OracleRiak数据库实例(database ...原创 2018-10-14 17:34:02 · 12110 阅读 · 0 评论 -
NoSQL:映射-化简
“映射-化简模式”(map-reduce pattern)是一种安排数据处理流程的手段,可以利用集群中的多台计算机,同时又能将某台计算机所需的数据及处理工作尽量放在本机执行。基本“映射-化简”映射是一个函数,其输入值是某个聚合,而输出值则是一大把键值对。化简也是一个函数,可以接受多个关键字相同的映射操作输出值作为其输入参数,然后将之合并。分区与归并我们可以将映射函数的输出数据分区,以...原创 2018-10-12 15:44:42 · 329 阅读 · 0 评论 -
NoSQL:版本戳
虽然NoSQL不支持事务,但是面向聚合的NoSQL数据库在聚合内部支持原子操作,所以可以选择以聚合为单位来更新数据。但是即使是支持事务,事务系统也有其局限性,比如有些无法封装到一个事务里的更新操作,这些问题可以通过使用版本戳来解决。商业事务与系统事务一般所说的事务为商业事务,例如用户浏览商品目录,选中购买物品,填写订单信息。而只有在用户下单购买的时候,才会在数据库中发生系统事务,因为这会锁住...原创 2018-10-12 15:23:38 · 521 阅读 · 0 评论 -
NoSQL分布式模型:一致性与持久性
放宽一致性约束:在权衡分布式数据库的一致性时,参与交互的节点越多,一致性就越好,但是每新增一个节点,都会使交互操作的响应时间变长。我们可以根据用户对陈旧数据的忍受程度,适当放宽一致性约束,只要求数据的最终一致性。放宽持久性约束:在某些场合,我们可以牺牲一些持久性以换取更好的性能。如果一个数据库大部分时间都在内存中运行,那么我们可以把更新操作直接写入内存,并且定期将数据变更写会磁盘。这会大大提高响...原创 2018-10-11 09:49:43 · 935 阅读 · 0 评论 -
NoSQL分布式模型:分片和复制
NoSQL是一种能够运行在大集群上的数据库,面向聚合的数据库非常适用于横向扩展。原创 2018-10-11 09:11:37 · 1641 阅读 · 0 评论 -
NoSQL数据库与关系型数据库
关系型数据库关系型数据库的价值获取持久化数据:关系型数据库最大的价值就是持久存储大量的数据。并发:关系型数据库通过“事务”来控制对数据的访问,事务机制可以在并发情况下运行良好而且在出现错误时,还能通过回滚事务保证数据不被破坏。集成:可以使用共享数据库集成,即将多个应用程序的数据保存在同一个数据库中,使所有应用程序很容易使用彼此的数据。关系型数据库的缺点:阻抗失谐关系模型和内存中的...原创 2018-10-11 08:41:38 · 445 阅读 · 0 评论