-
Notifications
You must be signed in to change notification settings - Fork 10
System Preparation
As of now, LunarBase only runs on X86+Linux platform. There is no dependency of other softwares/packages/runtimes except the JVM and GCC runtimes, since it is the rule no.1 of the design of LunarBase: keep the environment neat, user has no need to manage many configure files from many third party packages.
The minimum system should be:
- X86 platform;
- 2 cores of CPU;
- 512MB memory;
- 64-bit Linux;
- JVM 1.8 or later;
- GCC 4.8.4 or later;
There are five files the engine includes:
/*
* LunarBase Engin, an event driven engine that manages index,
* hash storage, data input and output,
* memory and lunarVFS.
*/
lunarbase_engin_build_20151118_v0.8.jar
/*
* basic IO library, interacts with linux file system
* for data serialization and deserialization.
*/
libLinux_X86_64_IOL0_LLHT.so
/* LunarMax, including a memory management unit
* and an in-memory light weighted file system.
*/
libLunar_X86_64_MMU.so
/* Java wrapper of MMU, for easy use in java environment. */
lunar_mmu_build_20151102.jar
/*
* Lunar virtual file system, manages the internal
* block data storage structure .
*/
lunar_virtual_file_system_build_20151102.jar
For programmers, just need to clone this project to your desktop, where an Eclipse+JDK8 environment is ready. Following from the getting-started examples to advanced topics will make the learning curve quite smooth.
LunarBase seeks its home path at /home/lunarion/
, in the case that when db is loading native libraries, it seeks the project root path, if it does not find, it will seek under the home path. We suggest you make the home dir and copy the five engine files to it to ensure LunarBase boot correctly.
1 Home
1.1 summary
1.2 System Preparation
1.3 When LunarBase is your best choice
1.4 Benchmark
1.5 Power consumption
2 Data Model And Process
2.1 Why internal big cache
2.2 Memory Management: LunarMMU
2.3 Garbage Collection
2.4 Transaction Log
2.5 JOIN via materialized view
3 Real Time Computation: LunarMax
3.1 In-Memory File System: Memory Estimation
3.2 Configuration
3.3 Use SSD as a cheaper memory
3.4 Data Safety
3.5 HE Server VS. Cluster
3.6 High Availability
4 Create a database
4.1 Three modes
4.2 creation.conf settings
4.3 Table space
4.4 Multiple Instance
4.5 Database Status
4.6 Remove and Restore a table
5 Insertion
5.1 Insert as normal record
5.2 Insert to search engine
6 Query
6.1 Point Query
6.2 Result Handler: register your own event handler
6.3 Interpreter Pattern: complex query conditions
6.4 Range Query
6.5 Full-text Search
6.6 Algebraic Logical Query
8 Deletion
9 Materialized view
9.1 Eventual consistency
9.2 Update
9.3 MVCC in LunarBase
9.4 Easy JOIN via denormalization
9.5 CRUD in view
10 Distributed integration with
10.1 Kafka
10.2 Storm
10.3 Spark
11 Storage: Lunar Virtual File System
13 Roadmap of LunarBase future
15 FAQ