Hbase存储相关介绍
Region Server: 不同Region数据互斥(Table+StartKey+Time);Region数量不能低于集群节点数量
数据的高可用 :内存
通过HLog及MemStore实现数据的高可用,具体设计如下:
HLog (WAL:预写日志===binlog,解决高可用、远程备份):HLog是WAL的实现,HLogKey、HLogSyncer(异步刷日志到H)、HLogRoller(生成新的Hlog、删除多余的Hlog)
MemStore :默认64M,每个列族对应一个Store(含一个MemStore及不定数StoreFile)
不可靠数据的持久化 :落盘
通过StoreFile进行数据固化,StoreFile重点涉及Hfile及HBase Compaction的处理;刷磁盘的触发方式包含3种方式。
StoreFile
HFile :存储的最小单元;Data Block存Key-Val(KeyLength、ValueLength、Key、Value),删除是逻辑删除,不会真的删除
HBase Compaction :将小的StoreFile合并成大的StoreFile,包括MinorCompaction、MajorCompaction两类
触发方式
(1) flush操作(整个regin的StoreFile都会执行);
(2) 手动触发
(3) 后台线程周期检查触发(文件数超过阈值;最早更新时间是否超出某个值
设置hbase.hregion.majorcompaction及hbase.hregion.majorcompaction.jitter,在指定闭区别)
【hbase.hregion.majorcompaction-hbase.hregion.majorcompaction*hbase.hregion.majorcompaction.jitter,hbase.hregion.majorcompaction+hbase.hregion.majorcompaction*hbase.hregion.majorcompaction.jitter】
分类
(1) MinorCompaction:耗时相对较短,小的相邻的StoreFile合并
(2) MajorCompaction:耗时长,合并成一个StoreFile,会删除三类数据:ttl过期数据、版本号超过设定的版本数的数据(设置了version数的前提下)、被删除的数据(自动触发的配置在生产环境经常被禁掉,改手动操作--触发的是MajorCompaction)
数据存储过程
数据查询过程
Hbase的具体操作
前置
namespace对应mysql的db
创建带namespace(ns1)的表(t1)
create 'ns1:t1', {NAME => 'f1', VERSIONS => 5}
创建使用默认namespace的多个列族的表(f1、f2、f3)
create 't1', {NAME => 'f1'}, {NAME => 'f2'}, {NAME => 'f3'} 等价于 create 't1', 'f1', 'f2', 'f3'
创建带配置的表
create 't1', {NAME => 'f1', VERSIONS => 1, TTL => 2592000, BLOCKCACHE => true}
create 't1', {NAME => 'f1', CONFIGURATION => {'hbase.hstore.blockingStoreFiles' => '10'}}
带拆分信息的表
hbase> create 'ns1:t1', 'f1', SPLITS => ['10', '20', '30', '40']
hbase> create 't1', 'f1', SPLITS => ['10', '20', '30', '40']
hbase> create 't1', 'f1', SPLITS_FILE => 'splits.txt', OWNER => 'johndoe'
hbase> create 't1', {NAME => 'f1', VERSIONS => 5}, METADATA => { 'mkey' => 'myvalue' }
hbase> # Optionally pre-split the table into NUMREGIONS, using
hbase> # SPLITALGO ("HexStringSplit", "UniformSplit" or classname)
hbase> create 't1', 'f1', {NUMREGIONS => 15, SPLITALGO => 'HexStringSplit'}
hbase> create 't1', 'f1', {NUMREGIONS => 15, SPLITALGO => 'HexStringSplit', REGION_REPLICATION => 2, CONFIGURATION => {'hbase.hregion.scan.loadColumnFamiliesOnDemand' => 'true'}}
hbase> create 't1', {NAME => 'f1', DFS_REPLICATION => 1}
Hbase的表结构
Table= RowKey + Family + Column + Timestamp + Value( RowKey + Family + Column + Timestamp) → Value
Row Key
Row key行键可以是任意字符串(最大长度是 64KB ,实际应用中长度一般为 10-100bytes),在hbase内部,row key保存为字节数组。
列族 (column family)
hbase表中的每个列都归属 于 某个列族 。列族是表的 chema的一部分(列不是);
列族必须在使用表之前定义;
列名都以列族作为前缀(例如courses:history , courses:math 都属于 courses 这个列族)
时间戳
HBase中通过row和columns确定的cell为存储单元;
每个 cell都保存着同一份数据的多个版本,版本通过时间戳来索引 ;
时间戳的类型是 64位整型:可以由hbase(在数据写入时自动 )赋值(精确到毫秒的当前系统时间);时间戳也可以由客户显式赋值
每个 cell中,不同版本的数据按照时间倒序排序,即最新的数据排在最前面。
为了避免数据存在过多版本造成的的管理 (包括存贮和索引)负担,hbase提供两种数据版本回收方式:保存数据的最后n个版本;保存最近一段时间内的版本(比如最近七天)。用户可以针对每个列族进行设置。
对Hbase而言,表结构设计会对系统的性能以及开销上造成很大的区别;
Rowke排序+Column排序进行存储
hbase shell操作
数据存表中
put ‘t1’ ,‘col_f’, 'val-取值'
查看表中所有数据
scan ‘表名’
查询表中一行数据
get '表名', 'rowkey'
查询表中一行的指定列
get 'table name', ‘rowid’, {COLUMN => ‘column family:column name ’}
删除一行中所有cell
deleteall ‘
’, ‘’
使用 delete 命令,可以在一个表中删除特定cell
delete ‘’, ‘’, ‘’, ‘’
手工合并hfile
compact 't1'
查看表结构
describe 't1' / desc 't1'
修改表结构(修改表结构必须先disable)
alter 't1', {NAME => 'f1'}, {NAME => 'f2', METHOD => 'delete'}
disable 'test1'
alter 'test1',{NAME=>'body',TTL=>'15552000'},{NAME=>'meta', TTL=>'15552000'}
enable 'test1'
分配权限
语法 grant 参数后面用逗号分隔
权限用五个字母表示:"RWXCA".其中分别表示READ('R'), WRITE('W'), EXEC('X'), CREATE('C'), ADMIN('A')例如,给用户‘test'分配对表t1有读写的权限,hbase(main)> grant 'test','RW','t1'
查看权限
语法:user_permission
# 例如,查看表t1的权限列表hbase(main)> user_permission 't1'
收回权限
与分配权限类似,
语法:revoke
# 例如,收回test用户在表t1上的权限revoke 'test','t1'
Region管理
1)移动region
语法:move 'encodeRegionName', 'ServerName'
encodeRegionName指的regioName后面的编码,ServerName指的是master-status的Region Servers列表
示例
hbase(main)>move'4343995a58be8e5bbc739af1e91cd72d','db-41.xxx.xxx.org,60020,1390274516739'
2)开启/关闭region
语法:balance_switch true|false
hbase(main)>balance_switch
3)手动split
语法:split 'regionName', 'splitKey'
4)手动触发major compaction
Compact all regions in a table:
#hbase> major_compact't1'
Compact an entire region:
#hbase> major_compact'r1'
Compact a single column family within a region:
#hbase> major_compact'r1','c1'
Compact a single column family within a table:
#hbase> major_compact't1','c1'
配置管理及节点重启
1)修改hdfs配置
hdfs配置位置:/etc/hadoop/conf,同步hdfs配置
cat/home/hadoop/slaves|xargs -i -t scp /etc/hadoop/conf/hdfs-site.xml hadoop@{}:/etc/hadoop/conf/hdfs-site.xml
#关闭:
cat/home/hadoop/slaves|xargs -i -t ssh hadoop@{} "sudo /home/hadoop/cdh4/hadoop-2.0.0-cdh4.2.1/sbin/hadoop-daemon.sh --config /etc/hadoop/conf stop datanode"
#启动:
cat/home/hadoop/slaves|xargs -i -t ssh hadoop@{} "sudo /home/hadoop/cdh4/hadoop-2.0.0-cdh4.2.1/sbin/hadoop-daemon.sh --config /etc/hadoop/conf start datanode"
2)修改hbase配置
同步hbase配置
cat/home/hadoop/hbase/conf/regionservers|xargs -i -t scp /home/hadoop/hbase/conf/hbase-site.xml hadoop@{}:/home/hadoop/hbase/conf/hbase-site.xml
# graceful重启
cd~/hbase
bin/graceful_stop.sh--restart --reload --debug inspurXXX.xxx.xxx.org
你可能感兴趣的:(hbase存储相关浅析)
车载诊断架构 --- 关于诊断时间参数P4的浅析
汽车电子实验室
车载电子电气架构 漫谈UDS诊断协议系列 架构 开发语言 关于网关转发性能引起的思考 汽车中央控制单元HPC软件架构 车载诊断进阶篇
关于诊断时间参数P4的浅析我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师:所谓鸡汤,要么蛊惑你认命,要么怂恿你拼命,但都是回避问题的根源,以现象替代逻辑,以情绪代替思考,把消极接受现实的懦弱,伪装成乐观面对不幸的豁达,往不幸上面喷“香水”来掩盖问题。无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事.而不是让内心的烦
Hbase基础语法
flyair_China
hbase 数据库 大数据
HBase作为分布式列式数据库,其语法和预分区策略是优化性能的关键。以下综合语法详解与预分区设计指南:一、HBase核心语法分类1.DDL操作(表结构管理)创建表语法:create'表名',{NAME⇒'列族1',VERSIONS⇒n},{NAME⇒'列族2',VERSIONS⇒n}示例:创建user表,含info(保留3版本)和data(保留1版本)列族:create'user',{NAME⇒'
Spring AI 实战:第六章、Spring AI源码浅析之一山可容二虎
liaokailin
Spring AI 实战 人工智能 spring java
目录(如果文章对您有一丢丢输入,请点赞、收藏、转发吧~)源码开篇、大模型时代:我们正站在浪潮之巅第一章、SpringAI入门之DeepSeek调用第二章、SpringAI提示词之玩转AI占卜的艺术第三章、SpringAI结构化输出之告别杂乱无章第四章、SpringAI多模态之看图说话第五
【Redis】浅析Redis大Key
目录1、什么是Redis大Key2、大Key是怎么产生的3、大Key导致的问题4、如何快速找到Redis大Key5、大Key优化策略6、总结我们在使用Redis的过程中,如果未能及时发现并处理Bigkeys(下文称为“大Key”),可能会导致服务性能下降、用户体验变差,严重的甚至会引发大面积故障。本文将介绍大Key产生的原因、其可能引发的问题及如何快速找出大Key并将其优化的方案。1、什么是Red
大数据编程基础
芝麻开门-新的起点
大数据 大数据
3.1Java基础(重点)内容讲解Java是大数据领域最重要的编程语言之一。Hadoop、HBase、Elasticsearch等众多核心框架都是用Java开发的。因此,扎实的Java基础对于深入理解这些框架的底层原理和进行二次开发至关重要。为什么Java在大数据领域如此重要?生态系统:Hadoop生态系统原生就是Java构建的,使用Java进行开发可以无缝集成。跨平台性:Java的“一次编译,到
深入解析HBase如何保证强一致性:WAL日志与MVCC机制
码字的字节
hadoop布道师 hadoop HBase WAL MVCC
HBase强一致性的重要性在分布式数据库系统中,强一致性是确保数据可靠性和系统可信度的核心支柱。作为Hadoop生态系统中关键的列式存储数据库,HBase需要处理金融交易、实时风控等高敏感场景下的海量数据操作,这使得强一致性成为其设计架构中不可妥协的基础特性。分布式环境下的数据一致性挑战在典型的HBase部署环境中,数据被分散存储在多个RegionServer节点上,同时面临以下核心挑战:1.跨节
HBase 简介
HBase简介什么是HBaseApacheHBase是Hadoop数据库,一个分布式的、可伸缩的大数据存储。当您需要对大数据进行随机的、实时的读/写访问时,请使用ApacheHBase。这个项目的目标是在商品硬件的集群上托管非常大的表——数十亿行百万列的列。ApacheHBase是一个开源的、分布式的、版本化的、非关系的数据库,它模仿了Google的Bigtable:一个结构化数据的分布式存储系统
Hbase简介
三五a
hbase 数据库 大数据
一.非关系型数据库:1.1介绍:非关系型数据库(NoSQLDatabase)是相对于传统关系型数据库而言的一类新型数据库技术,其设计目的是解决大规模数据存储、高并发访问、灵活数据结构等场景下的问题。与关系型数据库(如MySQL、Oracle)依赖固定表结构和SQL查询不同,非关系型数据库通常采用更灵活的数据模型,且不强制遵循ACID(原子性、一致性、隔离性、持久性)事务特性的严格约束。1.2分类:
Zookeeper简单入门
灬哆啦A梦不吃鱼
zookeeper简介ZooKeeper(动物园管理员),顾名思义,是用来管理Hadoop(大象)、Hive(蜜蜂)、Pig(小猪)的管理员,同时ApacheHBase、ApacheSolr、LinkedInSensei等众多项目中都采用了ZooKeeper。ZooKeeper曾是Hadoop的正式子项目,后发展成为Apache顶级项目,与Hadoop密切相关但却没有任何依赖。它是一个针对大型应用
jsch连接Linux工具类
aisi5339
ui java
importcom.alibaba.fastjson.JSONObject;importcom.jcraft.jsch.*;importorg.slf4j.Logger;importorg.slf4j.LoggerFactory;importjava.io.*;/***Createdbysolonon2017/3/1.*远程调用工具*/publicclassSSHBase{Stringhost;S
图数据库(一):Neo4j简介
hanscalZheng
数据库 数据库 python 图搜索
目录图数据库Neo4jCypher查询py2neo查询neo4j查询图数据库Neo4j图形数据库也被称为图形数据库管理系统(GDBMS),现发展比较成熟的图数据库有Neo4j、OracleNoSQL、OrientDB、HypherGraphDB和GraphBase等其中Neo4j是基于Java语言编写的图形数据库,它采用节点和关系的形式存储信息,并在此基础上提供界面友好的可视化演示,Neo4j图形
Hbase BulkLoad用法
kikiki2
要导入大量数据,Hbase的BulkLoad是必不可少的,在导入历史数据的时候,我们一般会选择使用BulkLoad方式,我们还可以借助Spark的计算能力将数据快速地导入。使用方法导入依赖包compilegroup:'org.apache.spark',name:'spark-sql_2.11',version:'2.3.1.3.0.0.0-1634'compilegroup:'org.apach
一文快速了解.NET项目文件(.csproj) ,基础而重要的文件【代码之美系列】
Microi风闲
【开源】NET Core 跨平台 .net c#
代码之美系列目录一、C#命名规则规范二、C#代码约定规范三、C#参数类型约束四、浅析B/S应用程序体系结构原则五、浅析C#Async和Await六、浅析ASP.NETCoreSignalR双工通信七、浅析ASP.NETCore和MongoDB创建WebAPI八、浅析ASP.NETWebUI框架RazorPages/MVC/WebAPI/Blazor九、如何使用MiniProfilerWebAPI分
HBase监控
也想洒脱
JanusGraph hbase
Prometheus+Grafana搭建HBase监控参考https://blog.csdn.net/devcloud/article/details/115069449
HBase 监控 | HBase Metrics 初探(一)
禅克
前言:对于任意一个系统而言,做好监控都是非常重要的,HBase也不例外。经常,我们会从JMX中获取相关指标来做展示、对HBase进行监控,那这些指标是怎么生成的呢?如果你想自定义自己的监控指标又该怎么做呢?基于好奇之心和学习的目的,最近打算学习一下HBase监控相关原理及实现,今天先简单捋一捋思路。1.如何下手?我一向比较喜欢先看项目所依赖的pom文件,打开HBase源码,有两个非常相关的模块:h
浅析Vue3(vue3笔记之进阶篇)
唆键盘的小前端
Javascript 前端 vue 笔记 vue.js 前端 前端框架 javascript windows
本文是结合实践中和学习技术文章总结出来的笔记(个人使用),如有雷同纯属正常((✿◠‿◠))喜欢的话点个赞,谢谢!有问题欢迎指正!!前面已经讲了基本的Vue生命周期和入门知识,本篇重点介绍Vue3的一些进阶知识1.vue-router路由Vue的路由对比React真是舒服太多了,路由守卫不需要自己配置,还可以方便自己添加一些自定义逻辑,比如在beforeEach加载进度条之类的,这里以Hash路由为
深入探索Hadoop技术:全面学习指南
引言在大数据时代,高效地存储、处理和分析海量数据已成为企业决策与创新的关键驱动力。Hadoop,作为开源的大数据处理框架,以其强大的分布式存储和并行计算能力,以及丰富的生态系统,为企业提供了应对大规模数据挑战的有效解决方案。本文旨在为初学者和进阶者提供一份详尽的Hadoop技术学习指南,涵盖HDFS、MapReduce、YARN等核心组件,以及Hive、Pig、HBase等生态系统工具,助您踏上H
postgresql之语法解析 浅析
happytree001
pg postgresql
一、pg语法简介1.1语法文件结构语法.y文件和词法.l文件结构差不多,也是通过%%分成了三个部分:声明部分、语法规则部分、C代码部分。src/backend/parser/gram.y####声明部分%{C代码头文件,变量声明等(此范围内的内容原样输出到文件中)#include"postgres.h"...%}#变量声明%union{core_YYSTYPEcore_yystype;/*thes
Taro 本地存储 API 详解与实用指南
Taro本地存储API详解与实用指南在多端开发中,本地存储是非常常用的功能。无论是保存用户登录信息、缓存接口数据,还是实现离线体验,合理使用本地存储都能极大提升应用的性能和用户体验。Taro作为一款多端统一开发框架,提供了与微信小程序一致的本地存储API,支持异步和同步两种调用方式,方便开发者在不同平台下统一管理本地数据。本文将详细介绍Taro的本地存储相关API,包括:Taro.setStora
Hbase - 表导出CSV数据
kikiki1
新鲜文章,昨天刚经过线上验证过的,使用它导出了3亿的用户数据出来,花了半个小时,性能还是稳稳的,好了不吹牛皮了,直接上代码吧。MR考查了Hbase的各种MR,没有发现哪一个是能实现的,如果有请通知我,我给他发红包。所以我们只能自己来写一个MR了,编写一个Hbase的MR,官方文档上也有相应的例子。我们用来加以化妆就得到我们想要的了。导出的CSV格式为admin,22,北京admin,23,天津依赖
写作进阶模式浅析
能源小李
上篇文章对目前写作中的差距进行了思考总结,主要是三方面差距:文字数量差距、干练语言与固有文风的差距、美化排版的差距。那么我们该如何针对性的制定写作进阶计划,该如何不断提高写作能力,构建自己成熟的写作模式呢?本文将进行简要分析。图片发自App写作进阶模式就是指针对我们自身写作技能提高的系统的方式方法。结合自身对写作的理解,从以下三个层面构建写作进阶模式。【进阶一锤炼提高写作思考力】写作本身是一种思考
浅析PGC、UGC、OGC、KOL、公域流量、私域流量
七喜f
2019年12月5日,星期四,晴,很温暖以下是我今日份的学习任务:PGC:(Professionally-generatedContent,专业生产内容,也称PPC,Professionally-producedContent)PGC为专业生产内容,常见于个人自媒体的变现转化;UGC:(User-generatedContent,用户生产内容,也称UCC,User-createdContent)U
WIFI7新特性浅析及Linux内核对其的支持
winter91
Linux NetWork linux WIFI
WIFI7新特性浅析及Linux内核对其的支持|DD'NotesWIFI7新特性浅析及Linux内核对其的支持wifi7新特性Wi-Fi7(IEEE802.11be)作为下一代无线网络标准,在速度、延迟、容量和稳定性等方面实现了显著提升。以下是其核心新特性:1.更高带宽与速率320MHz信道带宽支持连续320MHz或非连续160+160MHz带宽(6GHz频段),相比WiFi6的160MHz实现速
ftp文件服务器有连接数限制,查看ftp服务器连接数命令
赵承铭
ftp文件服务器有连接数限制
查看ftp服务器连接数命令内容精选换一换本章节适用于MRS3.x之前版本。Loader支持以下多种连接,每种连接的配置介绍可根据本章节内容了解。obs-connectorgeneric-jdbc-connectorftp-connector或sftp-connectorhbase-connector、hdfs-connector或hive-connectorOBS连接是Loa“数据导入”章节适用于
HBase总结
HBase1.HBase核心概念HBase的作用HBase主要用于存储和管理超大规模的结构化或半结构化数据(如PB级),特点包括:高扩展性:通过分布式架构横向扩展,支持数千台服务器高吞吐量:适合实时随机读写(如用户行为日志、实时分析)强一致性:保证同一行数据的原子性操作灵活的数据模型:支持动态列和稀疏存储典型应用场景:互联网公司的用户行为日志存储(如点击流数据)社交媒体的实时消息存储物联网设备时序
电商架构浅析
快乐非自愿
架构 大数据
前言什么是电商,电商有哪些分类,以及一个完整的电商平台应该由哪些模块组成?本文将围绕电商平台系统的整体架构展开分析。一、简介1.什么是电商简单说就是通过网络进行的商务活动。以前的人都是通过现金进行交易,就是所谓的一手交钱、一手交货。而电商,则是通过通过网上商城、物流配送、线上资金结算等过程来完成交易。本质就是买卖双方围绕线上商品进行交易履约的过程。2.电商分类二、业务流程分析目前的电商的种类很多,
Postgresql快速同步大量数据方案浅析
行星008
数据库 postgresql 数据库
目录推荐方案:并行导出导入+网络加速方案优势:详细步骤1.数据选择与准备2.并行数据导出(111服务器)3.高效网络传输4.并行数据导入(112服务器)5.性能优化参数增量同步方案(可选)方法1:逻辑复制(适合持续同步)方法2:增量更新脚本(适合定时同步)性能优化技巧验证与监控预期性能指标故障处理针对PostgreSQL14.3环境中从111服务器同步部分数据(约1000GB)到112服务器的需求
浅析Nordic nRF5 SDK例程架构(三)
Real你老王
单片机 c#
浅析NordicnRF5SDK例程架构第一章前言及bsp例程浅析第二章ble_app_uart例程浅析第三章添加电池电量服务(BAS)第四章如何使用的修改协议栈(以SESIDE为例)文章目录浅析NordicnRF5SDK例程架构一、需要的头文件二、定义电池的电量服务实例三、服务初始化四、sdk_config.h文件配置五、修改效果六、可能出现的Debug汇总本文紧接上篇,将主要介绍如何在nRF5_
浅析Nordic nRF5 SDK例程架构(四)
Real你老王
架构
浅析NordicnRF5SDK例程架构第一章前言及bsp例程浅析第二章ble_app_uart例程浅析第三章添加电池电量服务(BAS)第四章如何使用的修改协议栈(以SESIDE为例)文章目录浅析NordicnRF5SDK例程架构一、概述二、修改方法三、可能出现的Debug汇总本文紧接上篇,将主要介绍如何在nRF5_sdk的ble_peripheral\ble_app_uart工程为例,在NUS服务
浅析Nordic nRF5 SDK例程架构(二)
Real你老王
架构 单片机 嵌入式硬件
浅析NordicnRF5SDK例程架构第一章前言及bsp例程浅析第二章ble_app_uart例程浅析第三章添加电池电量服务(BAS)第四章如何使用的修改协议栈(以SESIDE为例)文章目录浅析NordicnRF5SDK例程架构二、ble_app_uart例程浅析二、bsp例程浅析1.ble_app_uart例程main2.串口初始化3.Log模块初始化4.初始化低功耗管理模块5.初始化BLE协议
jQuery 跨域访问的三种方式 No 'Access-Control-Allow-Origin' header is present on the reque
qiaolevip
每天进步一点点 学习永无止境 跨域 众观千象
XMLHttpRequest cannot load http://v.xxx.com. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:63342' is therefore not allowed access. test.html:1
mysql 分区查询优化
annan211
java 分区 优化 mysql
分区查询优化
引入分区可以给查询带来一定的优势,但同时也会引入一些bug.
分区最大的优点就是优化器可以根据分区函数来过滤掉一些分区,通过分区过滤可以让查询扫描更少的数据。
所以,对于访问分区表来说,很重要的一点是要在where 条件中带入分区,让优化器过滤掉无需访问的分区。
可以通过查看explain执行计划,是否携带 partitions
MYSQL存储过程中使用游标
chicony
Mysql存储过程
DELIMITER $$
DROP PROCEDURE IF EXISTS getUserInfo $$
CREATE PROCEDURE getUserInfo(in date_day datetime)-- -- 实例-- 存储过程名为:getUserInfo-- 参数为:date_day日期格式:2008-03-08-- BEGINdecla
mysql 和 sqlite 区别
Array_06
sqlite
转载:
http://www.cnblogs.com/ygm900/p/3460663.html
mysql 和 sqlite 区别
SQLITE是单机数据库。功能简约,小型化,追求最大磁盘效率
MYSQL是完善的服务器数据库。功能全面,综合化,追求最大并发效率
MYSQL、Sybase、Oracle等这些都是试用于服务器数据量大功能多需要安装,例如网站访问量比较大的。而sq
pinyin4j使用
oloz
pinyin4j
首先需要pinyin4j的jar包支持;jar包已上传至附件内
方法一:把汉字转换为拼音;例如:编程转换后则为biancheng
/**
* 将汉字转换为全拼
* @param src 你的需要转换的汉字
* @param isUPPERCASE 是否转换为大写的拼音; true:转换为大写;fal
微博发送私信
随意而生
微博
在前面文章中说了如和获取登陆时候所需要的cookie,现在只要拿到最后登陆所需要的cookie,然后抓包分析一下微博私信发送界面
http://weibo.com/message/history?uid=****&name=****
可以发现其发送提交的Post请求和其中的数据,
让后用程序模拟发送POST请求中的数据,带着cookie发送到私信的接入口,就可以实现发私信的功能了。
jsp
香水浓
jsp
JSP初始化
容器载入JSP文件后,它会在为请求提供任何服务前调用jspInit()方法。如果您需要执行自定义的JSP初始化任务,复写jspInit()方法就行了
JSP执行
这一阶段描述了JSP生命周期中一切与请求相关的交互行为,直到被销毁。
当JSP网页完成初始化后
在 Windows 上安装 SVN Subversion 服务端
AdyZhang
SVN
在 Windows 上安装 SVN Subversion 服务端2009-09-16高宏伟哈尔滨市道里区通达街291号
最佳阅读效果请访问原地址:http://blog.donews.com/dukejoe/archive/2009/09/16/1560917.aspx
现在的Subversion已经足够稳定,而且已经进入了它的黄金时段。我们看到大量的项目都在使
android开发中如何使用 alertDialog从listView中删除数据?
aijuans
android
我现在使用listView展示了很多的配置信息,我现在想在点击其中一条的时候填出 alertDialog,点击确认后就删除该条数据,( ArrayAdapter ,ArrayList,listView 全部删除),我知道在 下面的onItemLongClick 方法中 参数 arg2 是选中的序号,但是我不知道如何继续处理下去 1 2 3
jdk-6u26-linux-x64.bin 安装
baalwolf
linux
1.上传安装文件(jdk-6u26-linux-x64.bin)
2.修改权限
[root@localhost ~]# ls -l /usr/local/jdk-6u26-linux-x64.bin
3.执行安装文件
[root@localhost ~]# cd /usr/local
[root@localhost local]# ./jdk-6u26-linux-x64.bin&nbs
MongoDB经典面试题集锦
BigBird2012
mongodb
1.什么是NoSQL数据库?NoSQL和RDBMS有什么区别?在哪些情况下使用和不使用NoSQL数据库?
NoSQL是非关系型数据库,NoSQL = Not Only SQL。
关系型数据库采用的结构化的数据,NoSQL采用的是键值对的方式存储数据。
在处理非结构化/半结构化的大数据时;在水平方向上进行扩展时;随时应对动态增加的数据项时可以优先考虑使用NoSQL数据库。
在考虑数据库的成熟
JavaScript异步编程Promise模式的6个特性
bijian1013
JavaScript Promise
Promise是一个非常有价值的构造器,能够帮助你避免使用镶套匿名方法,而使用更具有可读性的方式组装异步代码。这里我们将介绍6个最简单的特性。
在我们开始正式介绍之前,我们想看看Javascript Promise的样子:
var p = new Promise(function(r
[Zookeeper学习笔记之八]Zookeeper源代码分析之Zookeeper.ZKWatchManager
bit1129
zookeeper
ClientWatchManager接口
//接口的唯一方法materialize用于确定那些Watcher需要被通知
//确定Watcher需要三方面的因素1.事件状态 2.事件类型 3.znode的path
public interface ClientWatchManager {
/**
* Return a set of watchers that should
【Scala十五】Scala核心九:隐式转换之二
bit1129
scala
隐式转换存在的必要性,
在Java Swing中,按钮点击事件的处理,转换为Scala的的写法如下:
val button = new JButton
button.addActionListener(
new ActionListener {
def actionPerformed(event: ActionEvent) {
Android JSON数据的解析与封装小Demo
ronin47
转自:http://www.open-open.com/lib/view/open1420529336406.html
package com.example.jsondemo;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
impor
[设计]字体创意设计方法谈
brotherlamp
UI ui自学 ui视频 ui教程 ui资料
从古至今,文字在我们的生活中是必不可少的事物,我们不能想象没有文字的世界将会是怎样。在平面设计中,UI设计师在文字上所花的心思和功夫最多,因为文字能直观地表达UI设计师所的意念。在文字上的创造设计,直接反映出平面作品的主题。
如设计一幅戴尔笔记本电脑的广告海报,假设海报上没有出现“戴尔”两个文字,即使放上所有戴尔笔记本电脑的图片都不能让人们得知这些电脑是什么品牌。只要写上“戴尔笔
单调队列-用一个长度为k的窗在整数数列上移动,求窗里面所包含的数的最大值
bylijinnan
java 算法 面试题
import java.util.LinkedList;
/*
单调队列 滑动窗口
单调队列是这样的一个队列:队列里面的元素是有序的,是递增或者递减
题目:给定一个长度为N的整数数列a(i),i=0,1,...,N-1和窗长度k.
要求:f(i) = max{a(i-k+1),a(i-k+2),..., a(i)},i = 0,1,...,N-1
问题的另一种描述就
struts2处理一个form多个submit
chiangfai
struts2
web应用中,为完成不同工作,一个jsp的form标签可能有多个submit。如下代码:
<s:form action="submit" method="post" namespace="/my">
<s:textfield name="msg" label="叙述:">
shell查找上个月,陷阱及野路子
chenchao051
shell
date -d "-1 month" +%F
以上这段代码,假如在2012/10/31执行,结果并不会出现你预计的9月份,而是会出现八月份,原因是10月份有31天,9月份30天,所以-1 month在10月份看来要减去31天,所以直接到了8月31日这天,这不靠谱。
野路子解决:假设当天日期大于15号
mysql导出数据中文乱码问题
daizj
mysql 中文乱码 导数据
解决mysql导入导出数据乱码问题方法:
1、进入mysql,通过如下命令查看数据库编码方式:
mysql> show variables like 'character_set_%';
+--------------------------+----------------------------------------+
| Variable_name&nbs
SAE部署Smarty出现:Uncaught exception 'SmartyException' with message 'unable to write
dcj3sjt126com
PHP smarty sae
对于SAE出现的问题:Uncaught exception 'SmartyException' with message 'unable to write file...。
官方给出了详细的FAQ:http://sae.sina.com.cn/?m=faqs&catId=11#show_213
解决方案为:
01
$path
《教父》系列台词
dcj3sjt126com
Your love is also your weak point.
你的所爱同时也是你的弱点。
If anything in this life is certain, if history has taught us anything, it is
that you can kill anyone.
不顾家的人永远不可能成为一个真正的男人。 &
mongodb安装与使用
dyy_gusi
mongo
一.MongoDB安装和启动,widndows和linux基本相同
1.下载数据库,
linux:mongodb-linux-x86_64-ubuntu1404-3.0.3.tgz
2.解压文件,并且放置到合适的位置
tar -vxf mongodb-linux-x86_64-ubun
Git排除目录
geeksun
git
在Git的版本控制中,可能有些文件是不需要加入控制的,那我们在提交代码时就需要忽略这些文件,下面讲讲应该怎么给Git配置一些忽略规则。
有三种方法可以忽略掉这些文件,这三种方法都能达到目的,只不过适用情景不一样。
1. 针对单一工程排除文件
这种方式会让这个工程的所有修改者在克隆代码的同时,也能克隆到过滤规则,而不用自己再写一份,这就能保证所有修改者应用的都是同一
Ubuntu 创建开机自启动脚本的方法
hongtoushizi
ubuntu
转载自: http://rongjih.blog.163.com/blog/static/33574461201111504843245/
Ubuntu 创建开机自启动脚本的步骤如下:
1) 将你的启动脚本复制到 /etc/init.d目录下 以下假设你的脚本文件名为 test。
2) 设置脚本文件的权限 $ sudo chmod 755
第八章 流量复制/AB测试/协程
jinnianshilongnian
nginx lua coroutine
流量复制
在实际开发中经常涉及到项目的升级,而该升级不能简单的上线就完事了,需要验证该升级是否兼容老的上线,因此可能需要并行运行两个项目一段时间进行数据比对和校验,待没问题后再进行上线。这其实就需要进行流量复制,把流量复制到其他服务器上,一种方式是使用如tcpcopy引流;另外我们还可以使用nginx的HttpLuaModule模块中的ngx.location.capture_multi进行并发
电商系统商品表设计
lkl
DROP TABLE IF EXISTS `category`; -- 类目表
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `category` (
`id` int(11) NOT NUL
修改phpMyAdmin导入SQL文件的大小限制
pda158
sql mysql
用phpMyAdmin导入mysql数据库时,我的10M的
数据库不能导入,提示mysql数据库最大只能导入2M。
phpMyAdmin数据库导入出错: You probably tried to upload too large file. Please refer to documentation for ways to workaround this limit.
Tomcat性能调优方案
Sobfist
apache jvm tomcat 应用服务器
一、操作系统调优
对于操作系统优化来说,是尽可能的增大可使用的内存容量、提高CPU的频率,保证文件系统的读写速率等。经过压力测试验证,在并发连接很多的情况下,CPU的处理能力越强,系统运行速度越快。。
【适用场景】 任何项目。
二、Java虚拟机调优
应该选择SUN的JVM,在满足项目需要的前提下,尽量选用版本较高的JVM,一般来说高版本产品在速度和效率上比低版本会有改进。
J
SQLServer学习笔记
vipbooks
数据结构 xml
1、create database school 创建数据库school
2、drop database school 删除数据库school
3、use school 连接到school数据库,使其成为当前数据库
4、create table class(classID int primary key identity not null)
创建一个名为class的表,其有一