Infinite


  • Home

  • Categories

  • Archives

  • Tags

  • Sitemap

  • RSS

  • Search

Paper Review: A Comparative Study of Secondary Indexing Techniques in LSM-based NoSQL Databases

Posted on 2018-06-24 | Post modified 2019-11-16 | In review | Visitors

Summary

NoSql databases have fast write throughput and fast lookup on primary key. And they also have good scalability and reliability.

However, in order to search non-primary attributes, secondary index should be maintained and this could hurts write performance.

This paper compares two types of secondary index:

  • Embedded Indexes: lightweight filters embedded inside the primary table

  • Stand-Alone Indexes: separate data structure

by implementing 2 Embedded Indexes and 3 Stand-Alone Indexes on top of LevelDB.

They conclude that : the embedded indexes offer superior write throughput and are more space efficient, whereas the stand-alone secondary indexes achieve faster query response times. So the optimal choice depends on the application workload.

Read more »

第一个 Dapp

Posted on 2018-05-03 | Post modified 2019-11-16 | In blockchain | Visitors

配置开发环境

安装 Nodejs

Mac 上安装 nodejs:

1
brew install node

安装 Truffle

1
npm install -g truffle # http://truffleframework.com/

truffle 是一个用于在 Etherem 上开发 Dapp 的框架。它让我们能够用 solidity 编程语言去写 Dapp 并进行调试。

安装 Ganache

Ganache 是一个本地的 in memory blockchain,让我们用于测试自己编写的 Dapp

安装 Metamask google 插件

为了能够使用 ethereum blockchain,我们需要安装 Google Chrome 的 METAMASK 扩展插件。使用 METAMASK 就可以让我们连接到本地的 etherum blockchain (Ganache 创建的),并和我们的 smart contract 做交互。

MetaMask 能够是我们的 Chrome 浏览器变成一个 blockchain 的浏览器,一个连接到 Ethereum network 的浏览器。

Read more »

Hadoop Installation

Posted on 2018-04-25 | Post modified 2019-11-16 | In os | Visitors

Hadoop Single Node Installation

Java environment setup

1
2
sudo apt-get update
sudo apt-get install default-jdk

Adding a dedicated Hadoop system user

This will add the user hduser and the group hadoop to your local machine.

1
2
sudo addgroup hadoop
sudo adduser --ingroup hadoop hduser

Configuring SSH

1
2
3
su hduser
ssh-keygen -t rsa -P ""
cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys
Read more »

Shared Libraries 概述

Posted on 2018-04-03 | Post modified 2019-11-16 | In linux | Visitors

最近使用 make 编译代码的时候,遇到了和 Shared Libraries 相关的一些问题,做一下总结。

什么是 Shared Libraries

Shared Libraries 是程序在运行的时候才装载的 libraries,换句话说,就是这些代码并没有编译链接到可执行文件中。

Shared Libraries name

Shared Libraries 有下面三种名字:

soname

lib+ library name + .so + period + version number
比如:libleveldb.so.1.20。在 linux 系统中,soname 是 shared libraries 的 real name 的 symlink。

:soname示例
1
2
3
4
5
$ ls -al | grep level
-rw-r--r-- 1 root root 789K 2018-04-03 01:42 libleveldb.a
lrwxrwxrwx 1 root root 18 2018-04-03 01:42 libleveldb.so -> libleveldb.so.1.20* # linker name
lrwxrwxrwx 1 root root 18 2018-04-03 01:42 libleveldb.so.1 -> libleveldb.so.1.20* # soname
-rwxr-xr-x 1 root root 459K 2018-04-03 01:42 libleveldb.so.1.20* # real name
Read more »

google s2 库安装配置

Posted on 2018-03-30 | Post modified 2019-11-16 | In database | Visitors

安装 openssl1.0.2 版本。

1
2
3
# --prefix 用来指定 openssl 要被安装在哪里
./config shared --prefix=/home/hanson/program/usr
make -j32

安装 s2

1
2
3
4
5
cmake ..
# 如果想手动指定 openssl 的路径,使用如下命令。这是因为当前版本(2018/04/01)的 s2
# openssl 只支持到 1.0.2。如果使用最新1.1.0版本会编译出错。
OPENSSL_ROOT_DIR=/home/hanson/program/usr/ cmake ..
sudo make install # 会将 libs2.so share library 安装到 /usr/local/lib 中,头文件放入 /usr/local/include/s2
Read more »

python在一张图中使用两组y坐标

Posted on 2018-03-30 | Post modified 2019-11-16 | In python | Visitors
如何使用matplotlib在一张图中画使用两套 y 坐标的图
Read more »
<1234…10>
XS Zhao

XS Zhao

60 posts
12 categories
36 tags
GitHub Facebook Instagram E-Mail
Recent Posts
  1. Ethereum Project Infrastructure
  2. Dapp: Lottery Contract
  3. Write ethereum test code
  4. Review: bLSM:* A General Purpose Log Structured Merge Tree
  5. Review: ElasticBF: Fine-grained and Elastic Bloom Filter Towards Efficient Read for LSM-tree-based KV Stores
© 2017 - 2020 XS Zhao
Powered by Hexo
Theme - NexT.Muse
0%