全部产品
Search
文档中心

Tablestore:Inisialisasi

更新时间:Jul 02, 2025

Saat menggunakan model Timeline, Anda perlu menginisialisasi TimelineStoreFactory, TimelineMetaStore, dan TimelineStore. Topik ini menjelaskan cara melakukan konfigurasi dan operasi inisialisasi.

Prasyarat

Inisialisasi TimelineStoreFactory

Gunakan SyncClient sebagai parameter untuk menginisialisasi TimelineStoreFactory dan buat Store untuk mengelola data Meta dan data Timeline.

Operasi pengulangan yang diperlukan karena kesalahan bergantung pada kebijakan pengulangan SyncClient. Anda dapat mengonfigurasi SyncClient untuk operasi pengulangan. Jika memiliki persyaratan khusus, Anda dapat memanggil operasi RetryStrategy untuk menentukan kebijakan pengulangan kustom.

/**
 * Konfigurasikan kebijakan pengulangan.
 * Kode: configuration.setRetryStrategy(new DefaultRetryStrategy());
 **/
ClientConfiguration configuration = new ClientConfiguration();

SyncClient client = new SyncClient(
        "yourEndpoint",
        // Dapatkan ID AccessKey dan rahasia AccessKey dari variabel lingkungan.
        System.getenv("TABLESTORE_ACCESS_KEY_ID"),
        System.getenv("TABLESTORE_ACCESS_KEY_SECRET"),
        "yourInstanceName", configuration);

TimelineStoreFactory serviceFactory = new TimelineStoreFactoryImpl(client);

Inisialisasi TimelineMetaStore

Buat skema untuk tabel Meta. Skema mencakup parameter seperti Identifier dan MetaIndex. Buat dan peroleh Store untuk mengelola data Meta dengan menggunakan TimelineStoreFactory. Tentukan parameter berikut: nama tabel Meta, nama indeks, bidang kunci utama, dan tipe indeks.

TimelineIdentifierSchema idSchema = new TimelineIdentifierSchema.Builder()
        .addStringField("timeline_id").build();

IndexSchema metaIndex = new IndexSchema();
metaIndex.setFieldSchemas(Arrays.asList(//Tentukan nama dan tipe bidang indeks.
        new FieldSchema("group_name", FieldType.TEXT).setIndex(true).setAnalyzer(FieldSchema.Analyzer.MaxWord),
        new FieldSchema("create_time", FieldType.LONG).setIndex(true)
));

TimelineMetaSchema metaSchema = new TimelineMetaSchema("groupMeta", idSchema)
        .withIndex("metaIndex", metaIndex); //Konfigurasikan indeks.

TimelineMetaStore timelineMetaStore = serviceFactory.createMetaStore(metaSchema);
  • Buat tabel

    Buat tabel berdasarkan parameter dalam metaSchema. Jika indeks dikonfigurasikan dalam metaSchema, indeks dibuat setelah tabel dibuat.

    timelineMetaStore.prepareTables();
  • Hapus tabel

    Jika indeks dibuat untuk tabel, indeks dihapus sebelum tabel dihapus.

    timelineMetaStore.dropAllTables();

Inisialisasi TimelineStore

Buat skema untuk tabel Timeline. Skema mencakup parameter seperti Identifier dan TimelineIndex. Buat dan peroleh Store untuk mengelola data Timeline dengan menggunakan TimelineStoreFactory. Tentukan parameter berikut: nama tabel Timeline, nama indeks, bidang kunci utama, dan tipe indeks.

Operasi BatchStore meningkatkan performa konkurensi berdasarkan DefaultTableStoreWriter dari Tablestore. Anda dapat mengatur jumlah thread konkuren dalam pool thread.

TimelineIdentifierSchema idSchema = new TimelineIdentifierSchema.Builder()
        .addStringField("timeline_id").build();

IndexSchema timelineIndex = new IndexSchema();
timelineIndex.setFieldSchemas(Arrays.asList(// Tentukan nama dan tipe bidang indeks.
        new FieldSchema("text", FieldType.TEXT).setIndex(true).setAnalyzer(FieldSchema.Analyzer.MaxWord),
        new FieldSchema("receivers", FieldType.KEYWORD).setIndex(true).setIsArray(true)
));

TimelineSchema timelineSchema = new TimelineSchema("timeline", idSchema)
        .autoGenerateSeqId() //Tentukan kolom kunci utama auto-increment sebagai metode untuk menghasilkan nilai SequenceId.
        .setCallbackExecuteThreads(5) //Atur jumlah thread awal DefaultTableStoreWriter menjadi 5.
        .withIndex("metaIndex", timelineIndex); //Konfigurasikan indeks.

TimelineStore timelineStore = serviceFactory.createTimelineStore(timelineSchema);
  • Buat tabel

    Buat tabel berdasarkan parameter dalam TimelineSchema. Jika indeks dikonfigurasikan dalam TimelineSchema, indeks dibuat setelah tabel dibuat.

    timelineStore.prepareTables();
  • Hapus tabel

    Jika indeks dibuat untuk tabel, indeks dihapus sebelum tabel dihapus.

    timelineStore.dropAllTables();