Skip to content

JiananYuan/SOSD_Dataset

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 

Repository files navigation

SOSD 真实世界数据集

本仓库包含了SOSD(Search on Sorted Dataset)中的几个重要真实世界数据集。SOSD常作为Learned Index的测试基准。

由于原SOSD仓库real word traces的下载脚本下载过程总是会中断,不得不采用Harvard Dataverse的数据源。Harvard数据源下载下来之后并不是直接可用的数据,本仓库的数据集为处理之后可读的数据集。

数据集下载链接:百度云链接

数据集名称:

  • books_200M_uint32
  • fb_200M_uint64
  • osm_cellids_200M_uint64
  • wiki_ts_200M_uint64

每个数据集有(1+200M)行,第一行是该数据集的总记录数(总行数,即200000000),接下去的200M行,每行为一个数据。

数据示例:

200000000
1
2
3
4
...(省略行)
200000000

注:

  • Harvard原始数据处理流程:原始数据为zst格式压缩文件,使用zstd -d xxx.zst解压得到二进制文件xxx,再用如下代码解析得到仓库中的数据集:
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;

std::vector<ll> load_data(const std::string &filename) {
    /* Open file. */
    std::ifstream in(filename, std::ios::binary);
    if (!in.is_open())
        exit(EXIT_FAILURE);

    /* Read number of keys. */
    uint64_t n_keys;
    in.read(reinterpret_cast<char*>(&n_keys), sizeof(uint64_t));

    /* Initialize vector. */
    std::vector<ll> data;
    data.resize(n_keys);

    /* Read keys. */
    in.read(reinterpret_cast<char*>(data.data()), n_keys * sizeof(ll));
    in.close();

    return data;
}

int main() {
    // TODO: input the dataset name here
    vector<ll> vec = load_data("./wiki_ts_200M_uint64");
    cout << vec.size() << endl;
    for (ll item : vec) {
        cout << item << "\n";
    }
    return 0;
}

后续还会再添加更多的real world traces,供learned index方向的researchers使用,敬请期待!

About

本仓库包含了SOSD中的部分read world数据集。数据来源:https://dataverse.harvard.edu/dataset.xhtml?persistentId=doi:10.7910/DVN/JGVF9A

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published