Lindorm mencakup mesin LindormTable, mesin LindormTSDB, mesin pencarian, , mesin komputasi, dan mesin stream. Lindorm kompatibel dengan berbagai antarmuka standar terbuka, seperti HBase, Cassandra, S3, OpenTSDB, Solr, HDFS. Lindorm juga mendukung kueri SQL, pemrosesan time series, serta pengambilan dan analisis teks.
Sumber daya komputasi dan penyimpanan setiap mesin Lindorm dapat diskalakan secara terpisah untuk menyesuaikan dengan beban kerja dinamis dalam bisnis Anda. Mesin tabel lebar dan mesin time series menyediakan konkurensi tinggi dan throughput tinggi.
Pilih mesin
Setiap jenis mesin dirancang untuk skenario tertentu. Anda dapat memilih satu atau beberapa mesin berdasarkan kebutuhan Anda. Untuk informasi selengkapnya, lihat tabel berikut.
Engine Type | Compatibility | Scenario | Description |
Wide table engine (LindormTable) | Compatible with SQL, the HBase API, Cassandra Query Language (CQL), and the Amazon S3 API. | Suitable for managing and analyzing metadata, orders, bills, user personas, social information, feeds, logs, trajectories. | A distributed wide-column engine designed for massive volumes of semi-structured and structured data. It supports global secondary indexes, multi-dimensional retrieval, dynamic columns, TTL, throughput of tens of millions of high-concurrency operations, and storage capacity of hundreds of petabytes. Its throughput performance is 3 to 7 times higher than that of open-source HBase. Its P99 latency is one-tenth that of open-source HBase. It supports hot and cold data separation. Its compression ratio is twice that of open-source HBase. Its overall storage cost is half that of open-source HBase. It includes built-in GanosBase spatio-temporal service, which is designed for various types of spatial or spatio-temporal data and supports large-scale historical trajectory query and analysis scenarios. |
Time series engine (LindormTSDB) | Provides an HTTP API and is compatible with the OpenTSDB API. | Suitable for storing and processing time series data such as measurement data and operational data of devices in scenarios such as IoT and monitoring. | The time series engine is a distributed storage engine that is used to process large amounts of time series data. It supports SQL queries. The time series engine provides a dedicated compression algorithm for time series data. This helps improve the data compression ratio. The time series engine lets you use multiple dimensions to query and aggregate large amounts of time series data by timeline. The engine also supports downsampling and elastic scaling. |
Search engine | Compatible with SQL, Apache Solr, and Elasticsearch APIs. | Suitable for querying large amounts of data, such as logs, text, and documents. For example, you can use the search engine to search for logs, bills, and user personas. | Lindorm provides a distributed search engine. The search engine uses an architecture in which storage is decoupled from computing. The search engine can be seamlessly used to store the indexes of the wide table engine and the time series engine to accelerate data retrieval. The search engine provides various capabilities, including full-text searches, aggregation, and complex multi-dimensional queries. It also supports an architecture that consists of one write replica and multiple read-only replicas and provides features such as horizontal scaling, cross-zone disaster recovery, and TTL to meet the requirements of efficient retrieval of large amounts of data. |
Compute Engine | Compatible with the Apache Spark API. | Suitable for scenarios such as the production of large amounts of data, interactive analytics, computational learning, and graph computing. | The compute engine provides distributed computing services based on a cloud native architecture. It supports Community Edition computing models and programming interfaces. The compute engine also integrates the features of the Lindorm storage engine and uses the underlying data storage features and indexing capabilities to efficiently complete distributed jobs. |
Streaming engine | Compatible with SQL and the Apache Kafka API. | Suitable for scenarios such as IoT data processing, application log processing, logistics aging analysis, travel data processing, and real-time trajectory processing. | The Lindorm streaming engine is used to store and process streaming data. It provides lightweight computing capabilities. You can use the stream computing engine to store streaming data to Lindorm to meet the requirements for the processing and application of streaming data. You can use the Lindorm GanosBase service provided by the wide table together with the Lindorm streaming engine to implement real-time trajectory analysis features, such as electronic geofencing and regional statistic collection. |
Pilih jumlah dan spesifikasi node
Lindorm mendukung skalabilitas horizontal node. Saat node mengalami beban tinggi, latensi meningkat, atau ketidakstabilan, Anda dapat mengatasi masalah tersebut dengan menambah jumlah node. Namun, hanya menambah jumlah node tidak dapat mengatasi masalah hot-spot pada node ber-spesifikasi rendah. Melakukan peningkatan ke spesifikasi node yang lebih tinggi dapat mencegah masalah hot-spot. Dengan kata lain, spesifikasi node menentukan single-node hot-spot resistance capability. Spesifikasi node juga memengaruhi stabilitas. Selama terjadi traffic hot-spot atau lonjakan volume permintaan secara tiba-tiba, node ber-spesifikasi rendah mungkin mengalami beban tinggi atau error kehabisan memori (OOM).
Oleh karena itu, kami menyarankan agar Anda memilih spesifikasi node dalam instans Anda berdasarkan kebutuhan bisnis. Anda dapat melakukan peningkatan spesifikasi node dalam instans Lindorm Anda melalui Lindorm console. Untuk informasi selengkapnya, lihat Change the engine specification of an instance. Jika Anda tidak tahu cara memilih spesifikasi node atau memerlukan bantuan saat melakukan peningkatan spesifikasi node, hubungi dukungan teknis Lindorm (DingTalk ID: s0s3eg3).
Wide table engine (LindormTable)
Node LindormTable mendukung spesifikasi mulai dari 4 core CPU dan 8 GB memori hingga 32 core CPU dan 256 GB memori. Jumlah node LindormTable dalam sebuah instans Lindorm dapat ditingkatkan. Anda dapat memilih spesifikasi node berdasarkan jumlah permintaan per detik dan jumlah region pada satu node dalam bisnis Anda.
-
Commodity Type: Jika Anda memilih Lindorm saat membuat instans, spesifikasi minimum node LindormTable adalah 4 core CPU dan 16 GB memori.
Beberapa fitur optimasi performa LindormTable mungkin tidak berfungsi dengan baik jika memori setiap node LindormTable kurang dari 16 GB. Beberapa fitur optimasi penulisan LindormTable mungkin tidak berfungsi dengan baik jika LindormTable hanya memiliki dua node atau kurang. Oleh karena itu, pilih minimal tiga node dengan masing-masing minimal 8 core dan 32 GB memori untuk LindormTable. Kami menyarankan Anda memilih spesifikasi 16 core dan 64 GB memori untuk setiap node LindormTable.
Kami merekomendasikan pilihan berikut:
Jika jumlah permintaan yang dikirim untuk mengakses satu node per detik kurang dari 1.000 dan jumlah region pada satu node kurang dari 500, pilih spesifikasi dengan 4 core CPU dan 16 GB memori.
Jika satu node menangani kurang dari 20.000 permintaan dan mendukung kurang dari 1.000 shard, Anda dapat menggunakan instans dengan 8 vCPU dan 32 GB memori atau lebih tinggi.
Jika jumlah permintaan yang dikirim untuk mengakses satu node per detik lebih dari 20.000 dan jumlah region pada satu node lebih dari 1.000, pilih spesifikasi dengan 16 core CPU dan 64 GB memori.
PentingSaat memilih spesifikasi node, Anda harus mempertimbangkan faktor lain selain jumlah permintaan per detik dan jumlah region pada satu node.
Jika Anda memilih spesifikasi node untuk bisnis kompleks secara tepat berdasarkan aturan di atas, bisnis mungkin tidak berjalan stabil dan latensi dapat meningkat. Oleh karena itu, jika bisnis Anda memenuhi salah satu kondisi berikut, kami menyarankan Anda memilih spesifikasi node yang lebih tinggi daripada yang dijelaskan dalam aturan di atas.
Baris data yang mungkin diakses berukuran kilobyte bahkan megabyte.
Kondisi filter kompleks ditentukan dalam permintaan SCAN.
Rasio hit cache permintaan rendah, sehingga setiap permintaan harus mengakses disk.
Instans berisi beberapa tabel.
Jika bisnis Anda menyediakan layanan online, pilih spesifikasi node dengan memori besar untuk menyimpan lebih banyak data dalam cache guna meningkatkan performa kueri.
Jika bisnis Anda perlu menjalankan tugas offline berbeban berat, seperti tugas MapReduce dan tugas Spark, atau TPS dan QPS bisnis Anda sangat tinggi, kami menyarankan Anda memilih spesifikasi node dengan lebih banyak core CPU.
Jika utilisasi CPU node tetap pada 70% atau lebih tinggi, kami menyarankan Anda melakukan peningkatan spesifikasi node.
Time series engine (LindormTSDB)
Node LindormTSDB mendukung spesifikasi mulai dari 4 core CPU dan 8 GB memori hingga 32 core CPU dan 256 GB memori. Anda dapat memilih jumlah dan spesifikasi node LindormTSDB berdasarkan TPS dalam bisnis Anda.
Commodity Type: Jika Anda memilih Lindorm saat membuat instans, spesifikasi minimum node LindormTSDB adalah 4 core CPU dan 16 GB memori.
Kami merekomendasikan pilihan berikut:
Jika TPS kurang dari 1.900.000, Anda dapat memilih tiga node dengan masing-masing 4 core CPU dan 16 GB memori.
Jika Transaction Per Second (TPS) kurang dari 3,9 juta, Anda dapat memilih konfigurasi 3 node dengan 8 vCPU dan 32 GB.
Jika Transactions Per Second (TPS) kurang dari 7,8 juta, Anda dapat memilih konfigurasi 3 node dengan 16 vCPU dan 64 GB memori.
Jika Transactions Per Second (TPS) kurang dari 11 juta, Anda dapat memilih 3 node dengan 32 core dan 128 GB memori.
Anda dapat memilih jumlah dan spesifikasi node LindormTSDB berdasarkan aturan di atas jika ingin memaksimalkan performa pemrosesan data dalam bisnis Anda. Anda juga harus mempertimbangkan faktor lain saat memilih jumlah dan spesifikasi node LindormTSDB, seperti jenis model bisnis, ukuran data per batch, dan jumlah permintaan konkuren. Untuk informasi selengkapnya, lihat Write test results dan Query test results.