存储

从Hadoop框架与MapReduce模式中谈海量数据处理(含淘宝技术架构)

时间秒杀一切 提交于 2020-01-09 01:38:42
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 前言 几周前,当我最初听到,以致后来初次接触Hadoop与MapReduce这两个东西,我便稍显兴奋,觉得它们很是神秘,而神秘的东西常能勾起我的兴趣,在看过介绍它们的文章或论文之后,觉得Hadoop是一项富有趣味和挑战性的技术,且它还牵扯到了一个我更加感兴趣的话题:海量数据处理。 由此,最近凡是空闲时,便在看“Hadoop”,“MapReduce”“海量数据处理”这方面的论文。但在看论文的过程中,总觉得那些论文都是浅尝辄止,常常看的很不过瘾,总是一个东西刚要讲到紧要处,它便结束了,让我好生“愤懑”。 尽管我对这个Hadoop与MapReduce知之甚浅,但我还是想记录自己的学习过程,说不定,关于这个东西的学习能督促我最终写成和“经典算法研究系列”一般的一系列文章。 Ok,闲话少说。本文从最基本的mapreduce模式,Hadoop框架开始谈起,然后由各自的架构引申开来,谈到海量数据处理,最后谈谈淘宝的海量数据产品技术架构,以为了兼备浅出与深入之效,最终,希望得到读者的喜欢与支持。谢谢。 由于本人是初次接触这两个东西,文章有任何问题,欢迎不吝指正。Ok,咱们开始吧。 第一部分、mapreduce模式与hadoop框架深入浅出 架构扼要 想读懂此文,读者必须先要明确以下几点,以作为阅读后续内容的基础知识储备:

3.1.1 HTML5存储

主宰稳场 提交于 2020-01-06 14:41:57
一.介绍 二.HTML5本地存储 (一).Localstorage (二).API (三).存储时效 (四).indexDB (五).indexDB-索引 (六).indexDB-游标 三.游标索引结合与区别 (一).IndexDB-游标索引结合 (二).indexDB-区别 四.课程总结 (一)介绍 1. 本地存储 : (1) .web storage (2) .IndexedDB 2. 本地存储的扩展介绍。 3. 离线存储-app cache。 4. 分析存储需求 : ( 1 ). 照顾2g,3g网络的体验。 ( 2 ). 流量节省。 ( 3 ). 在离线情况下使用。 cookie做不到,cookie的局限性:存储大小限制,仅4kb。单个域名下的数量限制,50个左右。污染请求头,浪费流量。 二.HTML5本地存储 (一)Localstorage localStorage和sessionStorage 1. 本地存储和离线存储相同的使用方法: ( 1 ). setItem方法设置存储内容。localStorage.setItem('Key', 'Value'); ( 2 ). getItem方法获取存储内容。localStorage.getItem('Key');//返回value值。 ( 3 ). 使用removeItem方法删除存储内容。(一个一个删)

浅谈linux性能调优之五:调优软raid

◇◆丶佛笑我妖孽 提交于 2019-12-24 17:29:31
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 存储中的一个重要角色,RAID独立冗余磁盘阵列,从分类上将有两种:基于raid卡的硬raid(硬件实现,速度高,适用于大型应用),基于系统的软raid(一般包含于内核之中,性能不如硬raid,但是可优化,小型服务器) 特点:数据完整性,防止故障,容量突破,性能提升 不了解raid相关知识的可以看看这个:http://blog.163.com/sjt_linux/blog/static/199310319201251863948525/ 下面我快速的介绍一下: RAID 0: 没校验,数据分段写入磁盘,吞吐量增大,不容错,100%使用,至少2块 test : mdadm --create /dev/md0 --level=0 --raid-devices=2 --chunk=64 /dev/sd{a,b}1 mke2fs -j -b 4096 -E stribe=16 /dev/md0 notice: --chunk 是在创建时指定,stribe是在格式时指定,stribe = chunk / stribe RAID 1: 镜像,容错,读性能,至少2块,2的倍数,利用率(100/n)% test : mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev

分布式存储Ceph的几种安装方法,源码,apt-get,deploy工具,Ubuntu CentOS

点点圈 提交于 2019-12-07 21:31:25
最近搞了下分布式PB级别的存储CEPH 尝试了几种不同的安装,使用 期间遇到很多问题,和大家一起分享。 一、源码安装 说明:源码安装可以了解到系统各个组件, 但是安装过程也是很费劲的,主要是依赖包太多。 当时尝试了centos 和 ubuntu 上安装,都是可以安装好的。 1下载ceph http://ceph.com/download/ wget http://ceph.com/download/ceph-0.72.tar.gz 2 安装编译工具apt-get install automake autoconf automake libtool make 3 解压 #tar zxvf ceph-0.72.tar.gz #cd ceph-0.72.tar.gz #./autogen.sh 4、 先安装依赖包 #apt-get install autotools-dev autoconf automake cdbs g++ gcc git libatomic-ops-dev libboost-dev \ libcrypto++-dev libcrypto++ libedit-dev libexpat1-dev libfcgi-dev libfuse-dev \ libgoogle-perftools-dev libgtkmm-2.4-dev libtool pkg-config

Android如何正确的保存文件

喜夏-厌秋 提交于 2019-12-07 13:31:13
在Android 官方开发文档中有一篇文档来介绍 如何保存应用的数据 ,但笔者用过很多程序(从知名的到不知名的)处理的都不是很完美,或者 没有按照Android 开发团队建议的方式去保存他们应用的数据。当一些试用过的软件卸载后,在SDCard中还保留了这些软件的文件目录,时间一长就有很多目录需要手工去清理,并且很难确认那些目录是仍然在使用的 那些目录已经没用了,给用户带来困扰。这里我们来讨论下该如何正确的保存应用的数据。 首先数据分为两种: 和应用相关的数据 ; 和应用无关的数据 。这里分别介绍: 应用无关的数据 是那些用户比较关心的数据,不管您的应用在不在用户设备上,这些数据用户都希望保留,这些数据包含: 用相机拍摄的照片、用浏览器(下载工具)下载的文件、用户制作的个性铃声等 。 假设您开发了一个照相应用(例如: 360相机),用户用您的应用拍摄并处理过的照片就属于应用无关的数据,如果用户把您的应用给卸载了,用户还是会期望仍然保留他们拍摄并处理过的照片。这里的照片按照Android官方的建议应该保存到 DIRECTORY_PICTURES 目录中,该目录通过 Environment.getExternalStoragePublicDirectory(String type) 来获取,您可以在该目录下创建一个以您的程序命名的目录来保存数据。其他支持的目录列表请 参考这里 。

memcached全面剖析–2.理解memcached的内存存储

谁都会走 提交于 2019-12-05 04:18:36
版权声明 :可以任意转载,但转载时必须标明原作者charlee、原始链接 http://tech.idv2.com/2008/07/11/memcached-002/ 以及本声明 下面是《memcached全面剖析》的第二部分。 Slab Allocation机制:整理内存以便重复使用 最近的memcached默认情况下采用了名为Slab Allocator的机制分配、管理内存。 在该机制出现以前,内存的分配是通过对所有记录简单地进行malloc和free来进行的。 但是,这种方式会导致内存碎片,加重操作系统内存管理器的负担,最坏的情况下, 会导致操作系统比memcached进程本身还慢。Slab Allocator就是为解决该问题而诞生的。 下面来看看Slab Allocator的原理。下面是memcached文档中的slab allocator的目标: the primary goal of the slabs subsystem in memcached was to eliminate memory fragmentation issues totally by using fixed-size memory chunks coming from a few predetermined size classes. 也就是说,Slab

iOS应用数据存取之数据库存储-----Core Data

给你一囗甜甜゛ 提交于 2019-12-04 12:52:13
iOS应用数据存取的常用方式有如下几种 XML属性列表 —— PList NSKeyedArchiver 归档 Preference(偏好设置) SQLite3 Core Data 现在我想记录以下我对core Data的认识 存在理由:苹果公司为了关照不会使用SQL数据库的程序员,而产生的,面向对象操作数据库的oc语言 Core Data简介: Core Data 是iOS SDK 里的一个很强大的框架,允许程序员以面向对象的方式储存和管理数据。使用Core Data框架,程序员可以很轻松有效地通过面向对象的接口管理数据 Core Data框架提供了对象-关系映射(ORM)的功能,即能够将OC对象转化成数据,保存在SQLite3数据库文件中,也能够将保存在数据库中的数据还原成OC对象 在数据操作过程中,无需编写任何SQL语句 要使用Core Data,需要导入CoreData框架 NSPersistentStoreCoordinator的产生: 为了让模型对象和数据库能够连接起来,苹果公司就创建了NSPersistentStoreCoordinator这个对象,用来作为他们之间的桥梁! [NSManagedObjectModel mergedModelFromBundles:nil];合并所有的图形化定义的Mode--------------》[

SharedPreferences共享首选项

别说谁变了你拦得住时间么 提交于 2019-12-03 23:44:58
这是一个轻量及的键值存储机制,只可以存储基本数据类型,以KEY-VALUES存储 getSharedPreferences() - Use this if you need multiple preferences files identified by name, which you specify with the first parameter. 创建一个指定名称的SP getPreferences() - Use this if you need only one preferences file for your Activity. Because this will be the only preferences file for your Activity, you don't supply a name. 不指定名称成绩一个只能在该Activity下试用的SP // 创建SharedPreferences得对象 // MODE_PRIVATE 这是默认的形式,配置文件只允许本程序和享有本程序ID的程序的访问 // MODE_WORLD_READABLE 允许其他的应用程序读文件 // MODE_WORLD_WRITEABLE 允许其他的应用程序写文件 // 该状态在api23已废弃 // MODE_MULTI_PROCESS 主要用于多任务,2

Mac 键盘快捷键

匿名 (未验证) 提交于 2019-12-03 00:22:01
Mac 键盘快捷键 您可以按下组合键来实现通常需要鼠标、触控板或其他输入设备才能完成的操作。 要使用键盘快捷键,请按住一个或多个修饰键,同时按快捷键的最后一个键。例如,要使用快捷键 Command-C(拷贝),请按住 Command 键并按 C 键,然后同时松开这两个键。Mac 菜单和键盘通常 对某些按键使用符号 ,其中包括以下修饰键: Fn 如果您使用的是 Windows PC 专用键盘,请用 Alt 键代替 Option 键,用 Windows 标志键代替 Command 键。有些 Mac 键盘在顶行中设有特殊按键,快捷键中也会用到它们;这些按键上有音量图标、显示屏亮度图标和其他功能图标。按下图标键可执行相应功能,将其与 Fn 键组合可用作 F1、F2、F3 或其他标准功能键。 要了解更多快捷键,请查看您所用应用的菜单。每个应用都有自己的快捷键,在一个应用中有用的快捷键可能不能用于另一个应用。 快捷键 描述 Command-X 剪切 所选项并拷贝到剪贴板。 Command-C 将所选项 拷贝 到剪贴板。这同样适用于“访达”中的文件。 Command-V 将剪贴板的内容 粘贴 到当前文稿或应用中。这同样适用于“访达”中的文件。 Command-Z 撤销 前一个命令。随后您可以按 Command-Shift-Z 来 重做 ,从而反向执行撤销命令。在某些应用中

android之Files,Saving State,Preferences(一)

北慕城南 提交于 2019-12-02 20:13:25
保存简单的APP数据 1.Shared Preferences 是一个简单,轻量级的,以键值对的机制(name/value pair---NVP)存储一些基础数据(Boolean,string,float等),最常用在保存用户的APP参数。 2.保存APP~UI状态 当APP被移到后台,Activity和Fragment都包含用来帮助记录当前UI状态的生命周期事件回调函数。 3.Files 文件不是完美的选择,但是有时候读写文件是唯一的选择。安卓可以让你在外部或者内部媒介上创建文件,也提供支持在公有访问的文件夹下创建临时缓存文件和存储文件。 创建和保存Shared Preferences 去创建或者修改Shared Prefence ,通过调用getSharedPreferences. SharedPreferences mySharedPreferences = getSharedPreferences(MY_PREFS,Activity.MODE_PRIVATE); 如何去修改呢? 答: 使用SharedPreferences.Editor类。 SharedPreferences.Editor editor = mySharedPreferences.edit(); 根据指定的键,使用put方法去更新或者插入值。 // Store new primitive types in