存储系统、数据库和对象存储 | 青训营

本文涉及的产品
对象存储 OSS,20GB 3个月
云原生数据库 PolarDB MySQL 版,通用型 2核8GB 50GB
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 50GB
简介: 存储系统、数据库和对象存储 | 青训营

存储系统

一个提供了读写、控制类接口,能够安全有效地把数据持久化的软件,就可以称为存储系统

特点有

  • 作为后端软件的底座.性能敏感
  • 存储系统软件架构,容易受硬件影响
  • 存储系统代码,既“简单"又“复杂”

数据库

关系型数据库和非关系型数据库

关系=集合=任意元素组成的若干有序偶对反应了事物间的关系

相关文章

关系代数=对关系作运算的抽象查询语言

  • 交、并、笛卡尔积…… SQL=一种DSL=方便人类阅读的关系代数表达形式

关系型

关系型数据库是存储系统,但是在存储之外,又发展出其他能力

  • 结构化数据友好struct
  • 支持事务acid
  • 支持复杂语言SQL关系型数据库是指采用了关系模型来组织数据的数据库。简单来说,关系模式就是二维表格模型。

非关系型

NoSQL非关系型数据库,主要指那些非关系型的、分布式的,且一般不保证ACID的数据存储系统。

NoSQL提出了另一种理念,以键值来存储,且结构不稳定,每一个元组都可以有不一样的字段,这种就不会局限于固定的结构,可以减少一些时间和空间的开销。使用这种方式,为了获取用户的不同信息,不需要像关系型数据库中,需要进行多表查询。仅仅需要根据key来取出对应的value值即可。

主流存储分类

单机存储 单机数据库 分布式数据库 分布式存储
文件系统 关系型数据 关系型数据 分布式文件系
Key-Value存 非关系型数据 非关系型数据库 对象存储

1.单机存储

单个计算机节点上的存储软件系统,一般不涉及网络交互

特点

  • 本地文件系统
  • key-value存储

2.分布式存储—概览

在单机存储基础上实现了分布式协议,涉及大量网络交互

HDFS、Ceph

特点

  • 分布式文件系统
  • 分布式对象存储

3.单机数据库

单个计算机节点上的数据库系统

事务在单机内执行,也可能通过网络交互实现分布式事务

关系型数据库

商业产品Oracle,开源产品MySQL & PostgreSQL

非关系型数据库

MongoDB、Redis、Elasticsearch

关系型数据库一般直接使用SQL交互,而非关系型数据库交互方式各不相同

非关系型数据库的数据结构千奇百怪,没有关系约束后,schema相对灵活

不管是否关系型数据库,大家都在尝试支持SQL(子集)和“事务”

4.分布式数据库

  • 容量:单点容量有限,受硬件限制
  • 弹性:扩容等问题
  • 性能
  • 性价比

在存储和数据库领域,硬件反推软件的变革十分常见

对象存储OSS(Object Storage Service)

特点

  • 容量无限大:可以到 EB 级,多少数据都能存的下
  • 持久可靠:11个 9 甚至以上的可靠性,数据丢失的概率比中五百万的概率还要低 2-3 个量级
  • 低成本:1 部高清电影存 1 年,差不多也就几块钱人民币
  • 使用方便:支持 REST 接口,主要操作为 PUT/GET/DELETE等,使用非常简单。

应用场景:日志、文本、音频、视频、图片、安装包、备份、前端js文件等

对象存储使用

对象(Object)是OSS存储数据的基本单元,也被称为OSS的文件。

和传统的文件系统不同,Object没有文件目录层级结构的关系。

  1. 创建Bucket
  2. 开发业务逻辑
  3. 测试

restful接口

对象存储对外提供的一般都是Restful风格的接口。

和gin类似

MultiUpload接口

解决大文件的问题

Listprefix接口

查看bucket里面的对象

关于运行代码

刚再阿里云上申请完,但是控制台里显示"数据还在准备中"

官网里面的文档非常详细了,不需要做任何补充

bucket创建就可以使用

OSS管理控制台 (aliyun.com)在这里可以看到endpoint当然是选择外网访问的第一个啦

在头像触摸可以出来accessKey管理,新建一个就可以使用。

分别是acessKey和acessSecretKey,在之后登录会用到

还有STS访客临时登录等等,文档里面很详细


在goland里面用

发现完全没必要自己写了啊,找到了阿里云的 OSS SDK for Go

  • 执行命令go get github.com/aliyun/aliyun-oss-go-sdk/oss获取远程代码包。
  • 在您的代码中使用import "github.com/aliyun/aliyun-oss-go-sdk/oss"引入OSS Go SDK的包。

这样就应该可以在大项目里面用了

go

复制代码

package main
import (
"fmt"
"github.com/aliyun/aliyun-oss-go-sdk/oss"
)
func main() {
  client, err := oss.New("Endpoint", "AccessKeyId", "AccessKeySecret")
  if err != nil {
    // HandleError(err)  
  }
  lsRes, err := client.ListBuckets()
  if err != nil {
    // HandleError(err)  
  }
  for _, bucket := range lsRes.Buckets {
    fmt.Println("Buckets:", bucket.Name)
  }
  bucket, err := client.Bucket("my-bucket")
  if err != nil {
    // HandleError(err)  
  }
  lsRest, err := bucket.ListObjects()
  if err != nil {
    // HandleError(err)  
  }
  for _, object := range lsRest.Objects {
    fmt.Println("Objects:", object.Key)
  }
}


相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
相关文章
|
18天前
|
存储 前端开发 Java
Harry技术添加存储(minio、aliyun oss)、短信sms(aliyun、模拟)、邮件发送等功能
### SpringBoot3 + Vue3 前后端分离的Java快速开发框架更新 本次更新主要包含以下内容: 1. **端口修改**:为避免与Minio存储服务冲突,后端启动端口从9000改为9999。 2. **添加存储支持**:集成Minio和阿里云OSS对象存储服务,详细配置请参考相关文档。 3. **短信服务**:接入阿里云短信服务,并增加模拟发送功能,方便本地测试。 4. **邮件发送**:引入邮件发送功能,支持简单文本邮件和带附件邮件。 5. **完善个人中心**:优化个人中心页面,提升用户体验。
160 85
Harry技术添加存储(minio、aliyun oss)、短信sms(aliyun、模拟)、邮件发送等功能
|
6天前
|
存储 安全 API
陪玩平台中支付与结算模块的代码,陪玩系统数据库设计与代码实现
第三方支付平台对接涉及与微信支付、支付宝等API接口的调用,确保用户支付流程顺畅。结算模块根据业务规则计算陪玩师收益,强调安全性、异常处理、可扩展性和日志记录。数据库设计涵盖用户、陪玩者、订单等信息的存储管理,确保系统稳定运行。
|
5天前
|
JavaScript NoSQL Java
基于SpringBoot+Vue实现的大学生就业服务平台设计与实现(系统源码+文档+数据库+部署等)
面向大学生毕业选题、开题、任务书、程序设计开发、论文辅导提供一站式服务。主要服务:程序设计开发、代码修改、成品部署、支持定制、论文辅导,助力毕设!
29 6
|
3天前
|
存储 弹性计算 数据管理
阿里云对象存储OSS收费标准,存储、流量和请求等多个计费项
阿里云对象存储OSS收费标准涵盖存储、流量及请求费用,提供按量付费和包年包月两种模式。标准型OSS按量付费为0.09元/GB/月,包年包月40GB仅9元/年,500GB优惠价118元/年。流量费仅收取公网流出方向,内网流入流出免费。
|
5天前
|
JavaScript NoSQL Java
基于SpringBoot+Vue的班级综合测评管理系统设计与实现(系统源码+文档+数据库+部署等)
✌免费选题、功能需求设计、任务书、开题报告、中期检查、程序功能实现、论文辅导、论文降重、答辩PPT辅导、会议视频一对一讲解代码等✌
24 4
|
5天前
|
JavaScript NoSQL Java
基于SpringBoot+Vue实现的大学生体质测试管理系统设计与实现(系统源码+文档+数据库+部署)
面向大学生毕业选题、开题、任务书、程序设计开发、论文辅导提供一站式服务。主要服务:程序设计开发、代码修改、成品部署、支持定制、论文辅导,助力毕设!
21 2
|
5天前
|
JavaScript NoSQL Java
基于SpringBoot+Vue实现的冬奥会科普平台设计与实现(系统源码+文档+数据库+部署)
面向大学生毕业选题、开题、任务书、程序设计开发、论文辅导提供一站式服务。主要服务:程序设计开发、代码修改、成品部署、支持定制、论文辅导,助力毕设!
23 0
|
1月前
|
存储 druid 分布式数据库
列式存储数据库与超市的关系?
列式存储数据库是一种高效的数据管理方式,类似于超市将相似商品集中摆放。它将相同类型的数据(如年龄、价格)归类存储,便于快速查询和压缩,广泛应用于市场分析、财务报告和健康数据分析等领域。知名产品包括HBase、ClickHouse、Druid和Apache Cassandra等,适合处理大规模数据和实时分析任务。
39 4
|
1月前
|
存储 弹性计算 数据管理
阿里云对象存储OSS收费标准:存储、流量和请求等多个计费项详解
阿里云对象存储OSS提供多样化的计费模式,涵盖存储、流量、请求等多项费用。存储费用方面,按量付费标准型为0.09元/GB/月,包年包月则有9元40GB等多种选择。流量费用仅对公网出方向收费,价格区间从0.25至0.50元/GB不等,支持按量付费与流量包抵扣两种方式。更多详情及精准报价,欢迎访问阿里云OSS官方页面。
2040 1

热门文章

最新文章