讲一下 HBase 的存储结构,这样的存储结构有什么优缺点?
HBase 139
注入产生的原理:
数据库设置为GBK编码:
宽字节注入源于程序员设置MySQL连接时错误配置为:set character_set_client=gbk,这样配置会引发编码转换从而导致的注入漏洞.
1、正常情况下,当GPC开启或者使用addslashes函数会过滤GET或POST提交的参数时,黑客使用的单引号(‘)会被转义成:\
-
HBase的优点及应用场景:
- 半结构化或非结构化数据:
对于数据结构字段不够确定或杂乱无章非常难按一个概念去进行抽取的数据适合用HBase,因为HBase支持动态添加列。 - 记录很稀疏:
RDBMS的行有多少列是固定的。为null的列浪费了存储空间。HBase为null的Column不会被存储,这样既节省了空间又提高了读性能。 - 多版本号数据:
依据Row key和Column key定位到的Value能够有随意数量的版本号值,因此对于须要存储变动历史记录的数据,用HBase是很方便的。比方某个用户的Address变更,用户的Address变更记录也许也是具有研究意义的。 - 仅要求最终一致性:
对于数据存储事务的要求不像金融行业和财务系统这么高,只要保证最终一致性就行。(比如 HBase+elasticsearch时,可能出现数据不一致) - 高可用和海量数据以及很大的瞬间写入量:
WAL解决高可用,支持PB级数据,put性能高适用于插入比查询操作更频繁的情况。比如,对于历史记录表和日志文件。(HBase的写操作更加高效) - 业务场景简单:
不需要太多的关系型数据库特性,列入交叉列,交叉表,事务,连接等。
HBase的缺点:
- 单一RowKey固有的局限性决定了它不可能有效地支持多条件查询;
- 不适合于大范围扫描查询;
- 不直接支持SQL的语句查询。
3个月前 - 半结构化或非结构化数据: