- 数据模型:HBase是基于列的存储系统,它是Apache Hadoop生态系统的一部分。它使用相同的 schema-less 模型 as Apache HBase,并且可以与Hadoop的文件存储系统HDFS无缝集成。
- 可扩展性:HBase是为大规模数据集设计的,可以轻松地水平扩展以处理更多的数据和流量。
- 分布式特性:HBase是一个分布式系统,可以在多个服务器上扩展。它支持自动的分区(region)和副本管理。
- 使用场景:HBase适用于需要高吞吐量和实时随机访问的大数据应用,如日志聚合、用户行为分析、实时推荐和大型索引构建。
**例子1:**移动应用分析 一个移动应用需要分析用户的行为,如点击率、使用时间和偏好。HBase可以用来存储用户的行为数据,每个用户的行为记录作为一个列族存储在HBase中。通过列族,可以快速地查询和分析用户的行为模式,提供实时的用户体验优化。
**例子2:**大型索引构建 一个搜索引擎需要构建和维护一个大规模的索引,以支持快速的搜索查询。HBase可以用来存储索引数据,每个文档作为一个行存储在HBase中,文档的内容和元数据作为列存储。HBase的高吞吐量和分布式特性使得它非常适合这种需要处理大量数据和快速访问的场景。
总结来说,MongoDB适合需要灵活数据模型的应用,Redis适合需要高性能缓存和即时访问的应用,而HBase适合需要高吞吐量和分布式存储的大数据应用。每种数据库都根据其特性和设计目的有各自的优势和适用场景。
一. 安装配置Oracle(包含卸载
https://zhuanlan.zhihu.com/p/623939015
Liuzhengwei1234
二. 创建使用数据库Qracle
设置用户唯一的sid
Liuzhengwei1234
Navicat连接Oracle数据库
【navicat】navicat数据连接存放位置: C:\Users\(用户名)\Documents(文档)\Navicat\MySQL\Servers
用navicat连接oracle的时候报错ORA-12541:TNS:no listener
这个没用试了之后不行解决方法
其中修改文件地址是:D:\oracle\product\11.2.0\dbhome_1\NETWORK\ADMIN
完美解决方法结合上面的一起吧
三、认识数据库
0、全局认识Oracle
一个Oracle server是由Oracle实例(instance)和数据库两部分组成的。
实例 = 内存结构 + 一组后台进程。
一个Oracle数据库是一个数据单位的集合,目的是为了存储和读取信息。可以分为逻辑结构和物理结构。
一个表空间只能同时属于一个database。
一个表空间可能包含一个或多个段,但段不能跨越表空间。
换个方式理解:数据库就是一个相片底片,实例就是相纸,一个底片可以冲多个相纸,但一张相纸最多冲一个底片。?
Oracle网络配置
1、SQL 定义
2、SQL 命令类型
3、基本数据类型
数据类型用于指定特定所包含数据的规则,决定了数据保存在列里的方式,包括分配给列的宽度,以及值是否可以是字母、数字、日期和时间等。
a、字符串类型
b、数字类型
c、日期类型
d、二进制及大文本数据
e、NULL 数据类型
4、数据库对象
5、数据完整性约束
其中对于外键约束:
外键约束(Foreign Key Constraint)是关系数据库中的一种约束,用于确保表之间的引用完整性。外键约束通过在表中的一列(或列的组合)引用另一个表的主键或唯一键,来建立两个表之间的关联。
假设我们有两个表:orders
(订单表)和customers
(客户表)。在orders
表中,我们有一个列叫做customer_id
,这个列用来存储customers
表中每个订单对应的客户ID。在这里,customer_id
列在orders
表中是外键,它引用了customers
表的主键id
。
外键约束的关键特性如下:
- 引用完整性:外键约束确保在使用外键的表(称为子表或从表)中的所有外键值都必须在参照表(称为父表或主表)中存在。这意味着,如果你想在
orders
表中插入一个订单,你必须确保customer_id
对应的customers
表中有一个有效的客户ID。 - 匹配类型:外键约束可以有三种匹配类型:
- 匹配全列:子表中的所有外键列必须与父表中的所有主键列匹配。
- 匹配部分列:子表中的外键列只需与父表中的主键列中的一个或几个列匹配。
- 匹配任意列:子表中的外键列只需与父表中的主键列中的任意列匹配。
- 更新规则:外键约束还定义了当父表中的主键值发生变化时,子表中外键的行为。有三种可能的更新规则:
- 级联更新:如果父表中的主键值发生变化,子表中的外键值也会相应地自动更新。
- 设置为NULL:如果父表中的主键值发生变化,子表中的外键值将被设置为NULL(前提是外键列允许NULL值)。
- 限制:如果父表中的主键值发生变化,子表中的外键值将保持不变,这可能导致引用完整性冲突。
- 删除规则:外键约束还定义了当父表中的记录被删除时,子表中的相关记录的行为。有三种可能的删除规则:
- 级联删除:如果父表中的记录被删除,那么子表中所有相关的记录也将被自动删除。
- 设置为NULL:如果父表中的记录被删除,子表中相关的外键值将被设置为NULL(前提是外键列允许NULL值)。
- 限制:如果父表中的记录被删除,子表中相关的记录将保持不变,这可能导致孤儿记录或引用完整性冲突。
外键约束是数据库设计中非常重要的概念,它有助于维护数据的一致性和完整性。在实际应用中,合理地使用外键约束可以避免数据冗余和数据不一致的问题。
CREATE TABLE info(
id NUMBER(4) PRIMARY KEY,
name VARCHAR2(20) not null,
age NUMBER(3) constraint ck_age CHECK(age BETWEEN 0 AND 200),
sex VARCHAR2(4),
email VARCHAR2(30) constraint uk_email UNIQUE,
empass VARCHAR2(30) DEFAULT('66666')
)
6、规格化过程(范式)
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
么很难做到真正的技术提升。**
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!