nosql

Excel必学 | 上亿数据也能秒导入?快来看看Smartbi怎么做的吧

允我心安 提交于 2020-10-21 21:09:10
我是一名电商公司里的物流数据分析人员,每天需要和各种各样的数据和表格打交道,是一名名副其实的“表姐”,不仅需要制作和更新公司里的日报、周报和月报,有时候也要为公司的会议准备各种数据材料。#excel# 公司有着非常多的业务部门,每次统计数据时都需要从业务部门的系统里进行取数,导完数据后再复制到EXCEL里进行分析,整个过程耗时耗力。由于公司的业务量非常大,每天会产生几十兆的数据量,这些数据日积月累起来非常庞大,经常性会把EXCEL给压垮,每次看着EXCEL表格打开时缓慢的进度条,心里都在暗暗叫苦,如果这个时候运气不好,出现了卡死,那一瞬间你会感觉人生彻底失去了意义。 看着别人每天都准时下班,自己手上却还有着一堆未做完的报表,只能含着泪加班去做报表。好不容易做好了,然后发给老板看,结果老板说有个数据不对,要求重做,顿时…心里有一万匹马在奔腾,不要说了,我想静静。 经历了万般的折磨之后,我终于按奈不住了,我要改变这种璀璨心灵的现状,寻找一个可以彻底解决EXCEL诸多弊端的方法。 EXCEL弱点 EXCEL一直是非常流行的个人计算机数据处理工具,它可以处理多种多样的数据,操作非常简单,支持丰富的函数、统计图表,在工作中更是非常得力的生产力工具。然而随着时代的不断演进,现如今由于大家对于数据工具的要求越来越高,EXCEL的不足也逐渐暴露出来,包括数据库连接、数据安全、性能问题

初识数据库

放肆的年华 提交于 2020-10-18 02:40:02
数据库 什么是数据库? 数据库的分类 NEWSQL 为什么学MySQL-从使用者角度 什么是数据库? 数据库系统(Database System),是由数据库及其管理软件组成的系统。 数据库就是存储数据的地方,传统意义上不包括文件系统 数据库是由2部分组成: (1)db 数据库本身(看不见的) (2)数据库管理系统 数据库的分类 现在世界上数据库分为3类 一 . 关系型数据库 RDBMS 关系数据库管理系统(Relational Database Management System:RDBMS)是指包括相互联系的逻辑组织和存取这些数据的一套程序 (数据库管理系统软件)。 主流的数据库。 最出名的3大关系型数据库:MySQL Oracle MSSQL(sql server)(MySQL被Oracle收购了) 二 . 非关系型数据库NOSQL 不是要取代传统关系型数据库 而是补充 NOSQL的意思就是Not Only SQL 产生的原因:关系型数据库太慢了! redis(基于内存的) mongodb(基于硬盘的) hbase(基于大数据集群的) 三 . NEWSQL 近几年才出现的 是RDBMS和NOSQL折中的数据库解决办法 NEWSQL 介于关系型数据库和非关系型数据库之间的数据库 代表:MySQL8.0 注意!!!MySQL5.7及以下是传统的关系型数据库 MySQL8.0

日均数据量千万级,MySQL、TiDB 两种存储方案的落地对比

岁酱吖の 提交于 2020-10-17 23:35:18
参考文章: 日均数据量千万级,MySQL、TiDB 两种存储方案的落地对比 盖 娅广告匹配系统(GaeaAD)用于支撑盖娅互娱全平台实时广告投放系统,需要将广告数据和游戏 SDK 上报的信息进行近实时匹配,本质上来说需要实时的根据各个渠道的广告投放与相应渠道带来的游戏玩家数据进行计算,实现广告转化效果分钟级别的展现及优化。 初期的 MySQL 存储方案 在系统设计之初,基于对数据量的预估以及简化实现方案考虑,我们选用了高可用的 MySQL RDS 存储方案,当时的匹配逻辑主要通过 SQL 语句来实现,包含了很多联表查询和聚合操作。当数据量在千万级别左右,系统运行良好,基本响应还在一分钟内。 遭遇瓶颈,寻找解决方案 然而随着业务的发展,越来越多游戏的接入,盖娅广告系统系统接收数据很快突破千万/日,高峰期每次参与匹配的数据量更是需要翻几个番,数据库成为了业务的瓶颈。由于此时,整个技术架构出现了一些问题: 1. 单次匹配耗时已从原本的 10 秒左右增加到 2 分钟以上,最慢的聚合查询甚至达到 20 分钟,时效性受到严重挑战。而且 MySQL 的问题是查询的时间随着数据量的增长而增长,以至于数据量越大的情况下查询越慢。 2. 随着历史数据的积累,单表数据很快达到亿级别,此时单表的读写压力已经接近极限。 3. 由于第一点提到的查询性能问题以及单机的容量限制,需要定时删除数据

从每秒6000写请求谈起

爱⌒轻易说出口 提交于 2020-10-17 19:43:46
背景 每一个片子的幕后,都保留了你的观看记录,详细的记着你观看了几次,跳过了那些时长 ,据说根据这些数据可以分析出你喜欢哪个日本明星,以此来做定向推送...... 虽然看起来很简单的一个功能,其实涉及到的数据量非常大,极限情况下为你的用户数*视频数的乘积。 那么在只有两个网站服务器,一台sqlserver的情况下,该如何面对这样不算大数据量的写请求呢?为什么说是写请求呢?因为用户观看视频的每一秒你都需要记录下来,例如:视频的第十秒用户观看了。要想把这个功能搞定,首先需要定义几个事情: 记录用户观看视频情况的数据定义 和客户端交互的数据协议 数据库中记录的数据格式 如何解决服务器写的压力(毕竟单台服务器请求数还是比较大) 解决方案 用户观看视频进度定义 对于一个视频来说,假如有1个小时的时长,这3600秒对应着3600个是否已经观看的状态,对于观看状态来说,只有观看和未观看两种状态,所以一个bit足以,一个字节(byte)有8个bit,所以一个byte可以表示8秒的观看状态,以此为基础,进制越高,同样数量的字符表示的状态就越多。 客户端每次上传新的数据,需要和服务端已经存在的数据做位运算,例如: 01000 表示第二秒观看了 ,客户端新上传:00011 表示第4,5秒都观看了,对于用户而言这个视频第2,4,5 秒都看过,虽然只是一个简单的运算,但是量大的时候,对cpu的消耗不容小觑。

NoSQL概述

空扰寡人 提交于 2020-10-17 18:33:02
NoSQL概述 单机MySQL时代 ​ 大数据时代,一般的数据库无法进行分析处理 数据量如果太大,一个机器放不下 数据的索引(B+ Tree),一个机器内存也放不下 访问量(读写混合),一个机器承受不了 Memecache + MySQL+垂直拆分(读写分离) 减轻服务器压力,使用缓存 发展过程:优化数据结构和索引-->文件缓存(IO)-->Memcached 分库分表+水平拆分+MySQL集群 早些年MyISAM:表锁,在高并发下严重影响效率 Innodb:行锁 使用分库分表来解决写的压力! 如今年代 MySQL等关系型数据库不够用!数据量大,变化很大 MySQL有的使用它来存储一些比较大的文件,博客,图片等,数据表很大,效率就低了。 大数据的IO压力下,表几乎没法更大 目前一个基本的互联网项目 为什么要用NoSQL 用户的个人信息,社交网络,地理位置。用户自己产生的数据,日志等等爆发式增长,无法使用关系型数据库进行存储,需要使用NoSQL! 什么是NoSQL NoSQL = Not Only SQL 关系型数据库:表格,行,列 泛指非关系型数据库,随着web2.0到来,传统关系型数据库很难对付web2.0,尤其是超大规模的高并发的社区,暴露出很多难以克服的问题,Redis是当下发展最快的,必须掌握的技术 很多的数据类型个人信息,社交网络,地理位置等不需要一个固定的格式

大白话彻底搞懂 HBase RowKey 详细设计

不打扰是莪最后的温柔 提交于 2020-10-17 03:08:17
云栖号资讯:【 点击查看更多行业资讯 】 在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 前言 RowKey作为HBase的核心知识点,RowKey设计会影响到数据在HBase中的分布,还会影响我们查询效率,所以RowKey的设计质量决定了HBase的质量。是咱们大数据从业者必知必会的,自然也是面试必问的考察点。 那么rowkey到底是什么呢?原理是什么呢?怎么设计RowKey呢?使用场景是怎样的呢?有哪些设计原则呢?又如何进行优化呢? 下面就让我们带着这些问题,一起探索RowKey的世界! RowKey的概念 RowKey从字面意思来看是行键的意思,咱们知道HBase可以理解为一个nosql(not only sql)数据库,既然是数据库,那么咱们日常使用最多的就是增删改查(curd)。其实在增删改查的过程中RowKey就充当了主键的作用,它和众多的nosql数据库一样,可以唯一的标识一行记录。 RowKey行键 (RowKey)可以是任意字符串,在HBase内部,RowKey保存为字节数组。存储时,数据按照RowKey的字典序(byte order)排序存储。设计RowKey时,要充分利用排序存储这个特性,将经常一起读取的行存储放到一起。 RowKey的特点小结如下: RowKey类似于主键,可以唯一的标识一行记录; 由于数据按照RowKey的字典序(byte

我去!看完这份Spring Boot笔记,成功教面试官做人

自闭症网瘾萝莉.ら 提交于 2020-10-15 13:10:03
写在前面 Java各种开发框架发展了很多年,影响了一代又一代的程序员。但环顾当前Java开源世界中的流行技术框架,能同时满足快速开发和分布式系统架构,还是群众基础最好、功能最全、基于Spring技术的Spring Boot框架。 什么是 Spring Boot ? 解释一下:Spring Boot 可以构建一切。Spring Boot 设计之初就是为了最少的配置,最快的速度来启动和运行 Spring 项目。Spring Boot 使用特定的配置来构建生产就绪型的项目。 使用 Spring Boot 可以非常方便、快速搭建项目,而不用关心框架之间的兼容性、适用版本等各种问题,我们想使用任何东西,仅仅添加一个配置就可以,所以使用 Sping Boot 非常适合构建微服务。 正如前面所说的Spring Boot的影响力大家有目共睹,学会Spring Boot技术无疑是一个硬核涨薪技能。所以互联网雷锋(小编我)也是费尽心思为找到了一份 非常nice的学习笔记 供大家参考,需要的小伙伴查看文末获取。 本文档是基于Spring Boot 2.X版本,采用“知识点+实例”的形式编写,通过“58个基于知识的实例+2个综合性的项目”,全面深入地讲解了Spring Boot的主要技术原理和应用。 其中,我们把晦涩难懂的理论通过图文结合的方式讲解,把不便理解的名词用通俗化的文字进行讲解