IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 2021SC@SDUSC-SDUDOC- blog02 -> 正文阅读

[大数据]2021SC@SDUSC-SDUDOC- blog02

上周与D老师的会议上进行了PPT展示,主要内容是对项目的整体理解。发现的问题是:需求功能点基本梳理清楚,具体的理解与实现方法还有很大的差距,需要多补充基础知识。
同时先前制定的XML规范被驳回,老师帮助重新梳理了XML规范,讲通应该如何制定。小组本周会重新整理。
在这里插入图片描述
本周学习mongodb并分析目前项目的数据库架构。MongoDB是文档型的非关系型数据库。最直观的理解是,在关系型数据库中每一行的数据,对应mongodb里是一个文档。

mongodb的文档是以binary json格式存储的,其格式就是json格式。一个document里可以包含多种类型的field,可以是日期、数字等,也可以是数组,还可以内嵌别的文档。

MongoDB没有固定的行列组织结构,这是no-sql与rdbms最大的区别之一,同时mongodb也不需要预先定义字段类型与数量,可灵活增加或变更字段,对于频繁变化的业务的数据模型非常适合。

MongoDB不支持join,对类似情况的处理方式是直接将有关联的表信息组织成嵌套的层级文档结构。
发现其优点是减少了上层文档的数据冗余,如果是embedded data形式的话,可以一次获取对应关系的所有明细数据。

本项目数据库部分代码分析:
需要存储:

  1. 用户信息
  2. 日志
  3. 古籍信息
  4. 文章信息
  5. 古文字信息
  6. 图片信息
    其中,用户信息、古籍信息和日志采用mysql存储。
    文章信息由于古文格式多样化,部分信息可能缺失,因此采用mongoDB存储,从而节省存储空间。古文字同理也采用mongoDB存储。

文章信息
文章是多种多样的,有些文章可能作者信息丢失,有些文章可能缺失数据,因此使用mongoDB,减少空白数据的空间占用。
{
“_id”: ObjectId(“604df4373e48000080001e62”),
“title”: “”,
“bookname”: “”,
“articleAuthor”: “”,
“content”: “”,
“imgurl”: “”,
“notes”: [
{
“word”: “”,
“pronunciation”: “”,
“annotation”: “”,
“location”: “”,
“label”: [ ]
}
],
“XML”: “”,
“annotation”: “”,
“page”: 0
}

其中notes是一个对象数组,储存每个字的简要信息,方便查询,格式如下:
“notes”: [
{
“word”: “”,
“pronunciation”: “”,
“annotation”: “”,
“location”: “”,
“label”: [ ]
}
],

古文字信息
古文字信息可扩展性很强,使用mongoDB存储,并且实现了倒排索引来加快查询速度

结构如下:
{
“_id”: ObjectId(“604df63f3e48000080001e63”),
“word”: “”,
“pronunciation”: “”,
“meaning”: “”,
“notes”: “”,
“imgurl”: “”,
“diff_form”: [
{
“id”: “”
}
],
“diff_pron”: [
{
“id”: “”
}
],
“article”: [
{
“id”: “”
}
]
}

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-10-18 17:27:40  更:2021-10-18 17:27:44 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 2:29:04-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码