Rövid útmutató: Java-alkalmazás létrehozása az Apache Cassandra-adatokhoz készült Azure Cosmos DB kezeléséhez (v3-illesztő)

A KÖVETKEZŐKRE VONATKOZIK: Cassandra

Ebben a rövid útmutatóban létrehoz egy Azure Cosmos DB for Apache Cassandra-fiókot, és a GitHubról klónozott Cassandra Java-alkalmazással létrehoz egy Cassandra-adatbázist és -tárolót a Javához készült v3.x Apache Cassandra-illesztőprogramok használatával. Az Azure Cosmos DB egy többmodelles adatbázis-szolgáltatás, amellyel gyorsan hozhat létre és kérdezhet le dokumentum-, tábla-, kulcs-érték- és gráfadatbázisokat globális elosztási és horizontális skálázási képességekkel.

Előfeltételek

Megjegyzés

Ez egy egyszerű rövid útmutató, amely a Nyílt forráskódú Apache Cassandra Java-illesztő 3. verzióját használja. A legtöbb esetben képesnek kell lennie egy meglévő Apache Cassandra-függő Java-alkalmazást csatlakoztatni az Apache Cassandra-hoz készült Azure Cosmos DB-hez a meglévő kód módosítása nélkül. Javasoljuk azonban az egyéni Java-bővítmény hozzáadását, amely egyéni újrapróbálkozásokat és terheléselosztási szabályzatokat tartalmaz a jobb általános élmény érdekében. Ennek célja a sebességkorlátozás és az alkalmazásszintű feladatátvétel kezelése az Azure Cosmos DB-ben. Itt talál egy átfogó mintát, amely implementálja a bővítményt.

Adatbázisfiók létrehozása

A dokumentum-adatbázis létrehozásához először létre kell hoznia egy Cassandra-fiókot az Azure Cosmos DB segítségével.

  1. A Azure Portal menüben vagy a Kezdőlapon válassza az Erőforrás létrehozása lehetőséget.

  2. Az Új lapon keresse meg és válassza az Azure Cosmos DB lehetőséget.

  3. Az Azure Cosmos DB oldalon válassza a Létrehozás lehetőséget.

  4. Az API oldalon válassza a Létrehozás lehetőséget a Cassandra szakaszban.

    A létrehozni kívánt fiók típusát az API határozza meg. Az Azure Cosmos DB öt API-t biztosít: NoSQL dokumentum-adatbázisokhoz, Gremlin gráfadatbázisokhoz, MongoDB dokumentum-adatbázisokhoz, Azure Table és Cassandra. Minden API-hoz külön fiókot kell létrehoznia.

    Válassza a Cassandra lehetőséget, mert ebben a rövid útmutatóban egy olyan táblát hoz létre, amely a Cassandra API-val működik.

    További információ a Cassandra API-járól.

  5. Az Azure Cosmos DB-fiók létrehozása lapon adja meg az új Azure Cosmos DB-fiók alapvető beállításait.

    Beállítás Érték Leírás
    Előfizetés Az Ön előfizetése Válassza ki az Azure Cosmos DB-fiókhoz használni kívánt Azure-előfizetést.
    Erőforráscsoport Új létrehozása

    Ezután adja meg ugyanazt a nevet, mint a Fióknév
    Válassza az Új létrehozása lehetőséget. Ezután adjon meg egy új erőforráscsoport-nevet a fiókjához. Az egyszerűség kedvéért használja ugyanazt a nevet, mint az Azure Cosmos DB-fiók nevét.
    Fiók neve Adjon meg egy egyedi nevet Adjon meg egy egyedi nevet az Azure Cosmos DB-fiók azonosításához. A fiók URI-ja cassandra.cosmos.azure.com lesz hozzáfűzve az egyedi fiók nevéhez.

    A fióknév csak kisbetűket, számokat és kötőjeleket (-) használhat, és 3 és 31 karakter közötti hosszúságúnak kell lennie.
    Hely A felhasználókhoz legközelebb eső régió Válassza ki az Azure Cosmos DB-fiókot üzemeltetéséhez használni kívánt földrajzi helyet. Használja a felhasználókhoz legközelebbi helyet, hogy a lehető leggyorsabb hozzáférést biztosítsa számukra az adatokhoz.
    Kapacitásmód Kiosztott átviteli sebesség vagy kiszolgáló nélküli A Kiosztott átviteli sebesség lehetőséget választva hozzon létre egy fiókot kiosztott átviteli módban. A Kiszolgáló nélküli lehetőséget választva kiszolgáló nélküli módban hozhat létre fiókot.
    Azure Cosmos DB ingyenes szintű kedvezmény alkalmazása Alkalmaz vagy Nem alkalmazható Az Ingyenes Azure Cosmos DB-szinttel az első 1000 RU/s- és 25 GB-os tárterületet kapja meg ingyenesen egy fiókban. További információ az ingyenes szintről.
    Fiók teljes átviteli sebességének korlátozása Válassza a lehetőséget a fiók átviteli sebességének korlátozásához Ez akkor hasznos, ha a fiók teljes átviteli sebességét egy adott értékre szeretné korlátozni.

    Megjegyzés

    Azure-előfizetésenként legfeljebb egy ingyenes szintű Azure Cosmos DB-fiókkal rendelkezhet, és a fiók létrehozásakor be kell jelentkeznie. Ha nem látja az ingyenes szintű kedvezmény alkalmazásának lehetőségét, az azt jelenti, hogy az előfizetés egy másik fiókja már engedélyezve van az ingyenes szinttel.

    Az Apache Cassandra-hoz készült Azure Cosmos DB új fiókoldala

  6. A Globális terjesztés lapon konfigurálja az alábbi adatokat. Ebben a rövid útmutatóban az alapértelmezett értékeket meghagyhatja:

    Beállítás Érték Leírás
    Georedundancia Letiltás Engedélyezze vagy tiltsa le a globális terjesztést a fiókjában a régió párosításával egy párosított régióval. Később további régiókat is hozzáadhat a fiókjához.
    Többrégiós írók Letiltás A többrégiós írási képesség lehetővé teszi, hogy kihasználja a kiosztott átviteli sebességet az adatbázisok és tárolók számára világszerte.
    Rendelkezésre állási zónák Letiltás Availability Zones egy Azure-régión belüli elkülönített helyek. Minden rendelkezésreállási zóna egy vagy több, független áramforrással, hűtéssel és hálózatkezelési megoldással ellátott adatközpontból áll.

    Megjegyzés

    A következő beállítások nem érhetők el, ha a Kiszolgáló nélküli lehetőséget választja Kapacitás módként:

    • Az ingyenes szint árengedményének alkalmazása
    • Georedundancia
    • Többrégiós írók
  7. Igény szerint további részleteket is konfigurálhat a következő lapokon:

    • Hálózatkezelés – Virtuális hálózatról való hozzáférés konfigurálása.
    • Biztonsági mentési szabályzat – Konfigurálja az időszakos vagy folyamatos biztonsági mentési szabályzatot.
    • Titkosítás – Használjon szolgáltatás által felügyelt kulcsot vagy ügyfél által felügyelt kulcsot.
    • Címkék – A címkék név-érték párok, amelyek lehetővé teszik az erőforrások kategorizálását és a konszolidált számlázás megtekintését azáltal, hogy ugyanazt a címkét több erőforrásra és erőforráscsoportra alkalmazza.
  8. Válassza az Áttekintés + létrehozás lehetőséget.

  9. Tekintse át a fiókbeállításokat, majd válassza a Létrehozás lehetőséget. A fiók létrehozása néhány percet vesz igénybe. Várja meg, amíg a portállapon megjelenik az Üzembe helyezés befejeződött.

    Az Azure Portal Értesítések panelje

  10. Válassza az Erőforrás megnyitása lehetőséget az Azure Cosmos DB-fiók lapjának megtekintéséhez.

A mintaalkalmazás klónozása

Most pedig váltsunk át kódok használatára. A következő lépésekben elvégezheti a Cassandra-alkalmazás klónozását a GitHubról, beállíthatja a kapcsolati sztringet, és futtathatja az alkalmazást. Látni fogja, mennyire egyszerű programozott módon dolgozni az adatokkal.

  1. Nyisson meg egy parancssort. Hozzon létre egy git-samples nevű mappát. Ezután zárja be a parancssort.

    md "C:\git-samples"
    
  2. Nyisson meg egy git terminálablakot, például a git bash eszközt, és a cd parancs használatával váltson az új mappára, ahol telepíteni szeretné a mintaalkalmazást.

    cd "C:\git-samples"
    
  3. Futtassa a következő parancsot a mintatárház klónozásához. Ez a parancs másolatot hoz létre a mintaalkalmazásról az Ön számítógépén.

    git clone https://github.com/Azure-Samples/azure-cosmos-db-cassandra-java-getting-started.git
    

A kód áttekintése

Ez a lépés nem kötelező. Ha meg szeretné ismerni, hogyan hozza létre a kód az adatbázis erőforrásait, tekintse át a következő kódrészleteket. Egyéb esetben ugorhat A kapcsolati sztring frissítése szakaszra. Ezek a kódrészletek mind az src/main/java/com/azure/cosmosdb/cassandra/util/CassandraUtils.java fájlból származnak.

  • A Cassandra-gazdagép, a port, a felhasználónév, a jelszó és a TLS/SSL beállításai meg vannak adva. A kapcsolati sztring adatai az Azure Portal kapcsolati sztring oldaláról származnak.

    cluster = Cluster.builder().addContactPoint(cassandraHost).withPort(cassandraPort).withCredentials(cassandraUsername, cassandraPassword).withSSL(sslOptions).build();
    
  • A cluster csatlakozik az Apache Cassandra azure Cosmos DB-hez, és egy munkamenetet ad vissza a hozzáféréshez.

    return cluster.connect();
    

A következő kódrészletek az src/main/java/com/azure/cosmosdb/cassandra/repository/UserRepository.java fájlból származnak .

  • Új kulcsterület létrehozása.

    public void createKeyspace() {
        final String query = "CREATE KEYSPACE IF NOT EXISTS uprofile WITH replication = {'class': 'SimpleStrategy', 'replication_factor': '3' } ";
        session.execute(query);
        LOGGER.info("Created keyspace 'uprofile'");
    }
    
  • Új tábla létrehozása.

    public void createTable() {
          final String query = "CREATE TABLE IF NOT EXISTS uprofile.user (user_id int PRIMARY KEY, user_name text, user_bcity text)";
          session.execute(query);
          LOGGER.info("Created table 'user'");
    }
    
  • Felhasználói entitások beszúrása előkészített utasításobjektum használatával.

    public PreparedStatement prepareInsertStatement() {
        final String insertStatement = "INSERT INTO  uprofile.user (user_id, user_name, user_bcity) VALUES (?,?,?)";
        return session.prepare(insertStatement);
    }
    
    public void insertUser(PreparedStatement statement, int id, String name, String city) {
        BoundStatement boundStatement = new BoundStatement(statement);
        session.execute(boundStatement.bind(id, name, city));
    }
    
  • Összes felhasználói adat lekérdezése.

    public void selectAllUsers() {
        final String query = "SELECT * FROM uprofile.user";
        List<Row> rows = session.execute(query).all();
    
        for (Row row : rows) {
            LOGGER.info("Obtained row: {} | {} | {} ", row.getInt("user_id"), row.getString("user_name"), row.getString("user_bcity"));
        }
    }
    
  • Egyetlen felhasználó adatainak lekérdezése.

    public void selectUser(int id) {
        final String query = "SELECT * FROM uprofile.user where user_id = 3";
        Row row = session.execute(query).one();
    
        LOGGER.info("Obtained row: {} | {} | {} ", row.getInt("user_id"), row.getString("user_name"), row.getString("user_bcity"));
    }
    

A kapcsolati sztring frissítése

Lépjen vissza az Azure Portalra a kapcsolati sztring adataiért, majd másolja be azokat az alkalmazásba. A kapcsolati sztring részletei lehetővé teszik az alkalmazás számára, hogy kommunikáljon az üzemeltetett adatbázissal.

  1. A Azure Portal lévő Azure Cosmos DB-fiókjában válassza a Kapcsolati sztring lehetőséget.

    Felhasználónév megtekintése és másolás az Azure Portal Kapcsolati sztring oldaláról

  2. A CONTACT POINT érték másolásához használja a képernyő jobb oldalán található gombot.

  3. Nyissa meg a config.properties fájlt a C:\git-samples\azure-cosmosdb-cassandra-java-getting-started\java-examples\src\main\resources mappából.

  4. Illessze be a CONTACT POINT értéket a Portalból a <Cassandra endpoint host> helyére a 2. sorban.

    A config.properties 2. sora a következőhöz hasonlóan néz ki:

    cassandra_host=cosmos-db-quickstart.cassandra.cosmosdb.azure.com

  5. Vissza a portálra, és másolja ki a FELHASZNÁLÓNÉV értéket. Illessze be a USERNAME értéket a Portalból a 4. sorban található <cassandra endpoint username> érték helyére.

    A config.properties 4. sora a következőhöz hasonlóan néz ki:

    cassandra_username=cosmos-db-quickstart

  6. Vissza a portálra, és másolja a JELSZÓ értéket. Illessze be a PASSWORD értéket a Portalból az 5. sorban található <cassandra endpoint password> érték helyére.

    A config.properties 5. sora a következőhöz hasonlóan néz ki:

    cassandra_password=2Ggkr662ifxz2Mg...==

  7. Ha egy adott TLS/SSL-tanúsítványt szeretne használni a 6. sorban, cserélje le a helyére <SSL key store file location> a TLS/SSL-tanúsítvány helyét. Ha nincs megadva érték, a rendszer a JAVA_HOME>/jre/lib/security/cacerts helyen <telepített JDK-tanúsítványt használja.

  8. Ha a 6. sort egy adott TLS/SSL-tanúsítvány használatára módosította, frissítse a 7. sort a tanúsítvány jelszavának használatára.

  9. Mentse a config.properties fájlt.

A Java-alkalmazás futtatása

  1. A git terminálablakában a cd paranccsal lépjen az azure-cosmosdb-cassandra-java-getting-started mappába.

    cd "C:\git-samples\azure-cosmosdb-cassandra-java-getting-started"
    
  2. A git terminálablakban használja a következő parancsot a cosmosdb-cassandra-examples.jar fájl létrehozásához.

    mvn clean install
    
  3. A git terminálablakban futtassa a következő parancsot a Java-alkalmazás indításához.

    java -cp target/cosmosdb-cassandra-examples.jar com.azure.cosmosdb.cassandra.examples.UserProfile
    

    A terminálablak értesítéseket jelenít meg a kulcstér és a tábla létrehozásáról. Ezt követően kiválasztja és visszaadja a táblában található összes felhasználót, és megjeleníti a kimenetet, majd azonosító alapján kiválaszt egy sort, és megjeleníti az értéket.

    Nyomja le a Ctrl+C billentyűkombinációt a program végrehajtásának leállításához és a konzolablak bezárásához.

  4. Ha megnyitja az Adatkezelőt az Azure Portalon, lekérdezheti és módosíthatja és használhatja az új adatokat.

    Az adatok megtekintése az Data Explorer - Azure Cosmos DB-ben

Tekintse át az SLA-kat az Azure Portalon

A Azure Portal figyeli az Azure Cosmos DB-fiók átviteli sebességét, tárhelyét, rendelkezésre állását, késését és konzisztenciáját. Az Azure Cosmos DB szolgáltatásiszint-szerződéshez (SLA) társított metrikák diagramjai az SLA értékét jelenítik meg a tényleges teljesítményhez képest. Ez a metrikákból álló csomag átláthatóvá teszi az SLA-k monitorozását.

Metrikák és SLA-k áttekintése:

  1. Az Azure Cosmos DB-fiók navigációs menüjében válassza a Metrikák lehetőséget.

  2. Válasszon ki egy lapot, például a Késés lapot, és válasszon ki egy időkeretet a jobb oldalon. Hasonlítsa össze a diagramok Tényleges és SLA sorait.

    Azure Cosmos DB-metrikák

  3. Tekintse át a metrikákat a többi lapon.

Az erőforrások eltávolítása

Ha végzett az alkalmazással és az Azure Cosmos DB-fiókkal, törölheti a létrehozott Azure-erőforrásokat, így nem kell további díjakat fizetnie. Az erőforrások törlése:

  1. A Azure Portal Keresősávon keresse meg és válassza ki az Erőforráscsoportok elemet.

  2. A listában válassza ki a rövid útmutatóhoz létrehozott erőforráscsoportot.

    Válassza ki a törölni kívánt erőforráscsoportot

  3. Az erőforráscsoport Áttekintés lapján válassza az Erőforráscsoport törlése lehetőséget.

    Az erőforráscsoport törlése

  4. A következő ablakban adja meg a törölni kívánt erőforráscsoport nevét, majd válassza a Törlés lehetőséget.

Következő lépések

Ebben a rövid útmutatóban megtanulta, hogyan hozhat létre Azure Cosmos DB-fiókot a Cassandra API-val, és hogyan futtathat egy Cassandra Java-alkalmazást, amely létrehoz egy Cassandra-adatbázist és -tárolót. Mostantól további adatokat importálhat az Azure Cosmos DB-fiókjába.