java技术圈 为您找到相关结果 10

Hive On HBase实战 - 哥不是小萝莉

1.概述 HBase是一款非关系型、分布式的KV存储数据库。用来存储海量的数据,用于键值对操作。目前HBase是原生是不包含SQL操作,虽然说Apache Phoenix可以用来操作HBase表,但是需要集成对应的Phoenix依赖包到HBase集群中,同时需要编写对应的Schema才能实现SQL操作HBase。 本篇博客,笔者将为大家介绍另一位一种SQL方式来操作HBase,那就是Hive。 2.内容 2.1 使用场景 熟悉大数据的同学应该都知道,Hive是一个分布式的数据仓库,它能够将海量数据,结构化存储到HDFS上,然后通过SQL的方式对这些海量数据进行业务处理。而且,Hive学习成本很低,熟悉SQL的同学,很快就能编写一个Hive应用程序。 我们通过Hive把数据加载到HBase表中...阅读全文

博文 2020-11-12 03:39:16 博客园

统计去重后的数量 | Elasticsearch: 权威指南

速度优化edit 如果想要获得唯一值的数目, 通常 需要查询整个数据集合(或几乎所有数据)。 所有基于所有数据的操作都必须迅速,原因是显然的。 HyperLogLog 的速度已经很快了,它只是简单的对数据做哈希以及一些位操作。 但如果速度对我们至关重要,可以做进一步的优化。 因为 HLL 只需要字段内容的哈希值,我们可以在索引时就预先计算好。 就能在查询时跳过哈希计算然后将哈希值从 fielddata 直接加载出来。 预先计算哈希值只对内容很长或者基数很高的字段有用,计算这些字段的哈希值的消耗在查询时是无法忽略的。 尽管数值字段的哈希计算是非常快速的,存储它们的原始值通常需要同样(或更少)的内存空间。这对低基数的字符串字段同样适用,Elasticsearch 的内部优化能够保证每个唯一值只计...阅读全文

博文 2022-03-23 12:53:58 Elastic

Hbase中的LSM树

一、前言哈希存储引擎 是哈希表的持久化实现,支持增、删、改以及随机读取操作,但不支持顺序扫描,对应的存储系统为key-value存储系统。对于key-value的插入以及查询,哈希表的复杂度都是O(1),明显比树的操作O(n)快,如果不需要有序的遍历数据,哈希表就是your Mr.RightB树存储引擎是B树的持久化实现,不仅支持单条记录的增、删、读、改操作,还支持顺序扫描(B+树的叶子节点之间的指针),对应的存储系统就是关系数据库(Mysql等)。LSM树(Log-Structured Merge Tree)存储引擎和B树存储引擎一样,同样支持增、删、读、改、顺序扫描操作。而且通过批量存储技术规避磁盘随机写入问题。当然凡事有利有弊,LSM树和B+树相比,LSM树牺牲了部分读性能,用来大幅提...阅读全文

博文 2022-04-15 06:58:20 知乎

roaringBitMap简介 - DB乐之者

如何优雅高效的在海量数据存储与查找 对于这个问题我们首先可能会想到直接去存储这40亿个数据,当然这确实是一种方法。但是我们是否考虑过这样做的后果呢?如果你的解决方案就是上面的那种方法的话,那你可能真的没有考虑过后果。所以你有必要继续往下读。 我们先不管后果是什么,现在我来带大家看一组数据,假设这40亿个数据是4个字节的unsigned int 型的数据。那嘛现在 我们要存储这40亿个数据就需要的空间为:(40 * 10^8) * 4byte = 14.9GB (注意这里所换算机制:1GB=2^10Mb=2^20kb=2^30byte,下面涉及到的计算也是采用这种方式)所以大家看见了后果就是占用了这么大的内存空间,一般计算机上的内存根本就放不下嘛,所以这还怎么干活。。。 该怎么办呢? 那么我们...阅读全文

博文 2023-05-10 04:05:00 博客园

数据库入门:MySQL事务解析,如何轻松搞定数据一致性?

在日常开发中我们经常会遇到需要同时处理多个操作的情况,比如在购物时,我们需要同时完成支付和更新库存两个操作。这时,如果其中一个操作失败了,我们就需要进行回滚,以保证数据的一致性。 那么,如何在MySQL中实现这样的功能呢?答案就是——事务。下面我们就来介绍一下MySQL事务是什么?它是如何使用的? ## 一、什么是事务? ### 事务定义 - 事务是一个最小的不可再分的工作单元;通常一个事务对应一个完整的业务(例如银行账户转账业务,该业务是一个最小的工作单元)。 - 一个完整的业务需要批量的DML(insert、update、delete)语句共同联合完成。 - 事务只和DML语句有关,或者说DML语句才有事务。这个和业务逻辑有关,业务逻辑不同,DML语句的个数不同。 ### 事务是什么? ...阅读全文

基于C++从0到1手写Linux高性能网络编程框架(2023新课)

基于C++从0到1手写Linux高性能网络编程框架(2023新课) 分享课程——基于C++从0到1手写Linux高性能网络编程框架,2023年新课,附源码+电子书,课程包更新。 Linux在服务器领域有着强大的优势,网络编程便是其中一项重要组成部分,运用合理的技巧可以构建出具有高效率、可靠性和强大可拓展性的网络框架,提高服务器功能和效率。 Linux网络编程技巧可以细分为多个方面,首先网络编程的开始必不可少的是编写好的Socket程序。Socket可以说是传输层协议的核心,它充当网络应用程序之间的接口,能够连接本地服务器与外部服务器,实现进程间的通信接口。在Linux环境下,使用C语言需要引入头文件,调用系统函数socket()来生成socket描述符: #include int socke...阅读全文

博文 2023-12-05 16:19:13 woaiwodejia333

linux中iptables如何删除一条规则-腾讯云开发者社区

linux中iptables删除一条规则的方法:1、打开linux终端;2、在终端命令行中输入“iptables -L -n”命令查看出当前的防火墙规则;3、输入“iptables -L -n --line-number”命令查看到每个规则chain的序列号;4、根据序列号删除指定一条防火墙则即可。linux中iptables如何删除一条规则具体操作步骤:1、在linux系统桌面中使用快捷键【Ctrl+Alt+T】打开linux终端命令行模式。2、在linux终端命令行中输入以下命令查看出当前的防火墙规则。iptables -L -n复制3、输入以下命令查看到每个规则chain的序列号。iptables -L -n --line-number复制4、最后输入以下命令根据序列号删除指定一条防火...阅读全文

博文 2023-12-12 14:52:42 腾讯云

Linux新手村必备!这些常用操作命令你掌握了吗?

在计算机的世界里,Linux操作系统以其强大的功能和灵活性受到了广大程序员和IT爱好者的喜爱。然而,对于初学者来说,Linux的操作命令可能会显得有些复杂和难以理解。 今天,我们就来一起探索一些Linux常用操作命令,让你的计算机操作更加流畅。 ### 一、目录操作 首先带大家了解一下Linux 系统目录: ``` ├── bin -> usr/bin # 用于存放二进制命令 ├── boot # 内核及引导系统程序所在的目录 ├── dev # 所有设备文件的目录(如磁盘、光驱等) ├── etc # 配置文件默认路径、服务启动命令存放目录 ├── home # 用户家目录,root用户为/root ├── lib -> usr/lib # 32位库文件存放目录 ├── lib64 -> ...阅读全文

博文 2024-01-25 15:09:28 YDYXCODE

MySQL 性能调优的10个方法

MYSQL 应该是最流行了 WEB 后端数据库。WEB 开发语言最近发展很快,PHP, Ruby, Python, Java 各有特点,虽然 NOSQL 最近越來越多的被提到,但是相信大部分架构师还是会选择 MYSQL 来做数据存储。MYSQL 如此方便和稳定,以至于我们在开发 WEB 程序的时候很少想到它。即使想到优化也是程序级别的,比如,不要写过于消耗资源的 SQL 语句。但是除此之外,在整个系统上仍然有很多可以优化的地方。1. 选择合适的存储引擎: InnoDB除非你的数据表使用来做只读或者全文检索 (相信现在提到全文检索,没人会用 MYSQL 了),你应该默认选择 InnoDB 。你自己在测试的时候可能会发现 MyISAM 比 InnoDB 速度快,这是因为: MyISAM 只缓存索...阅读全文

博文 2023-05-26 11:25:49 知乎