# Which types of indexes are available in CosmosDB?
- [x] range and spatial
- [ ] secondary and primary key
- [ ] secondary and spatial
- [ ] range and primary key
# You want to connect a DynamoDB stream to AWS Lambda function. Which one of these object do you create?
- [ ] DynamoDB table
- [x] DynamoDB trigger
- [ ] DynamoDB item
- [ ] DynamoDB index
# To index a field that holds an array value in MongoDB, which index type do you create?
- [ ] partial
- [ ] sparse
- [ ] compound
- [x] multikey
# You want to test HBASE on your laptop using the fewest number of steps. What do you do?
- [ ] Set up Hadoop in pseudo-distributed mode.
- [x] Set up HBASE in local mode.
- [ ] Set up HBASE in pseudo-distributed mode.
- [ ] Set up Hadoop in local mode.
# You need to create a document database that supports database triggers. Which NoSQL database should you use?
- [x] DynamoDB
- [ ] BigTable
- [ ] Redis
- [ ] MongoDB
# What is recommended size for Redis keys?
- [ ] medium
- [x] short
- [ ] single bit
- [ ] long
# What does redis use to sort the elements of a sorted set?
- [x] Scores.
- [ ] Ids.
- [ ] Values.
- [ ] Keys.
# You need to change the shard key of an existing MongoDB collection. What do you do?
- [ ] Dump the collection data, drop the collection, create a new collection and shard key, import the data.
- [ ] Add second shard key and drop the first shard key.
- [x] Dump the collection data, drop the collection, presplit the data, create a new collection and shard key, import the data.
- [ ] Drop and recreate the shard key.
# Polyglot storage means using multiple types of what in the same application?
- [ ] Security systems.
- [ ] Database systems.
- [x] Storage systems.
- [ ] Query systems.
# You need to implement the simplest possible scalable, in-memory cache for your AWS application. Which service do you select?
- [ ] Elasticache using Memcached.
- [ ] DynamoDB.
- [ ] DynamoDB Accelerator (DAX).
- [x] Elasticache using Redis.
# You are doing data modelling for Google BigTable. Which statement expresses if and when you should split entities across multiple rows?
- [ ] Keep all information for an entity in a single row. Store related entities in adjacent rows.
- [ ] Keep all information for an entity in a single row.
- [ ] Split entities across multiple rows if the entity data is over thousands of MBs, or if it does not need atomic updates and reads.
- [x] Split entities across multiple rows if the entity data is over hundreds of MBs, or if it does not need atomic updates and reads.
# Which two characteristics define Amazon Quantum Ledger Database?
- [ ] Key-value data model; transactionally consistent with ACID semantics.
- [x] Document data model; transactionally consistent with ACID semantics.
- [ ] Key-value data model; transactions with tunable consistency.
- [ ] Document data model; transactions with tunable consistency.
# You need to design the primary key for DynamoDB based on three attributes. What do you do?
- [ ] Designate all three fields as the primary key.
- [x] Concatenate all three fields into one new field, then designate that new field as the primary key.
- [ ] Designate two fields of the three fields as the primary key.
- [ ] Concatenate two fields into one new field, then designate that new field and the remaining field as the primary key.
# Which of these data types should you avoid in designing a Google Bigtable row key?
- [ ] multi-valued identifiers
- [ ] string identifiers
- [ ] timestamps
- [x] frequently updated identifiers
# Your startup is building a prototype that has an evolving schema. Your data will be eventually consistent. Your application is hosted in AWS. Which database do you choose?
- [ ] Neptune
- [ ] DocumentDB
- [x] DynamoDB
- [ ] Amazon Aurora
# You need to create a scalable database that allows you to share documents across authorized mobile clients in real time. What Google NoSQL database should you use?
- [ ] Memorystore
- [ ] Datastore
- [x] Firebase
- [ ] Bigtable
# You need to design security for DynamoDB to allow users read-only access to certain items and attributes in a table. What do you do?
- [ ] Use IAM roles.
- [x] Use IAM policy conditions.
- [ ] Use a VPC endpoint.
- [ ] Use IAM policies.
# Which statement is preferred Cypher code for Neo4j?
- [ ] MATCH (:Person)-->(:Card)-->(:Company) RETURN count(vehicle)
- [ ] Match (:Person)-->(:Car):(vehicle:Car)-->(:Company) RETURN count(vehicle)
- [x] MATCH (:Person)-->(vehicle:Car)-->(:Company) RETURN count(vehicle)
- [ ] MATCH (:Person)-->(:Card), (vehicle:Car)-->(:Company) RETURN count(vehicle)
# You need multi-item ACID transactions with snapshot isolation within a partition for your cloud-based application. Which NoSQL databse do you choose?
- [ ] Bigtable
- [ ] GraphDB
- [ ] DynamoDB
- [x] Cosmos DB
# You need to control your application's batch updates destination for your Bigtable multinode cluster. Which action do you take?
- [ ] Create a custom app profile to route batch updates.
- [ ] Create a custom app profile to route the batch update from that client.
- [x] Update the default app profile to route the natch update from that client.
- [ ] Use the default app profile to route batch updates.
# Your query to verify that your Redis key is configured to support expiring user information on a defined interval returns -2, What does this value indicate?
- [ ] The queried key value expired in the last two seconds.
- [ ] The queried key value exists, but has no associated expire value.
- [x] The queried key value does not exist.
- [ ] There are two expired keys with this value.
# You are designing a MongoDB schema to support queries that will include lookups. What should you do?
- [ ] Create an index on the key value used as the primary key.
- [ ] Create an index on the key value used as the foreign key.
- [x] Create a multicolumn index on the key value used as the foreign key and the most unique column in the document.
- [ ] Create a multicolumn index on the key value used as the primary and also the foreign key.
# What is the aggregation operator for a join concept in MongoDB?
- [ ] \$group
- [ ] \$match
- [x] \$lookup
- [ ] \$project
# For your mobile application, you need to select a Google cloud databse that can support compound, filtered document queries. Which do you choose?
- [ ] Cloud SQL
- [ ] Cloud Spanner
- [x] Cloud Firestore
- [ ] Cloud Firebase
# To bulk load data into Amazon Neptune, what do you do?
- [x] Upload data to S3 VPC endpoint, Use the Neptune loader to load from s3 into your Neptune instance
- [ ] Ad data to a Kinesis stream, and use the Neptune loader to load from S# into your Neptune instance.
- [ ] Add data to a Kinesis stream, and create a Kinesis stream VPC endpoint. Use the Neptune loader to load from S3 into your Neptune instance.
- [ ] Upload data to S Use the Neptune loader to load from S3 into your Neptune instance.
# You need to create a pub/sub server. Which database do you use?
- [ ] Neo4j
- [ ] Cassandra
- [x] Redis
- [ ] MyS##
# SQL databases and NoSQL are which types of scalable?
- [ ] horizontally, infinitely
- [x] vertically, horizontally
- [ ] vertically, infinitely
- [ ] horizontally, vertically
# You need to create a scalable database that allows you to query data nodes and edges efficiently. What do you use?
- [ ] a relational database
- [ ] a columnstore database
- [ ] a document database
- [x] a graph database
# You are developing a model for a graph database. Your data will be moved from a relational database into Neo4j. Which of these transformations apply?
- [ ] Rows become labels: bales become nodes.
- [x] Tables become labels: rows become nodes.
- [ ] Tables become collections: rows become items.
- [ ] Rows become collections: tables become items.
# You need to execute a command for MongoDB that does NOT load values from the `.mongorc.js` file. What do you do ?
- [ ] Delete the .monorc.js file and restart mongo shell.
- [ ] Use the mongo shell to create a command with --norc option
- [ ] Rem all lines in the .mongorc.js file ad restart mongo shell.
- [x] Use the mongo shell to create a command with --nodedefault option.
# You need to store an unordered collection of name-value pairs with differing data types in DynamoDB. Which data type should you choose?
- [x] map
- [ ] set
- [ ] list
- [ ] stack
# Which statement retrieves an item from the MusicCollection table in DynamoDB?
- [ ] aws dynamodb query --table-name MusicCollection --key file://key.json
- [x] aws dynamodb get-item --table-name MusicCollection --key file://key.json
- [ ] aws dynamodb select --table-name MusicCollection --key file://key.json
- [ ] aws dynamodb put-item --table-name MusicCollection --key file://key.json
# Database availability is measured by which metric?
- [ ] the amount of service calls
- [ ] the number of minutes
- [ ] the amount of service costs
- [x] the number of nines
# You need to encrypt data at rest in DynamoDB. Which action do you take?
- [ ] You assign a default AWS encryption key to your table to encrypt data.
- [ ] You create an AWS encryption key and assign it to your table to encrypt data.
- [x] None. Data is encrypted by default.
- [ ] You create an AWS encryption key and assign it to your database to encrypt data.
# You need to generate a unique, sequential identifier for each value stored in a Redis cluster. What do you do?
- [ ] Implement a SortedSet object to generate a value.
- [ ] Use the GUID keyword to generate a value.
- [ ] Implement a List object to generate a value.
- [x] Use the INCR keyword to generate a value
# You want to return a list of all elements in two Redis sets. Which keyword do you use?
- [x] smembers
- [ ] returnall
- [ ] sunion
- [ ] sismember
# Which method shows you whether MongoDB uses any indexes when running a query, and how the indexes are used?
- [ ] detailQueryExecution()
- [ ] showPlan()
- [x] explain()
- [ ] describe()
# Which statement accurately describes global secondary indexes in DynamoDB?
- [ ] The global secondary indexes in DynamoDB are consistent, and are not guaranteed to return correct results.
- [ ] The global secondary indexes in DynamoDB are transactionally consistent, and are guaranteed to return correct results.
- [ ] The global secondary indexes in DynamoDB are partially consistent, and are not guaranteed to return correct results.
- [x] The global secondary indexes in DynamoDB are eventually consistent, and are not guaranteed to return correct results.
[reference link:](https://stackoverflow.com/questions/35414372/dynamodb-consistent-reads-for-global-secondary-index)
# Which command do you use to add a value to a Redis stream named mystream?
- [ ] ADD mystream \* sensor-id 1234 temperature 19.8 1518951480106-1
- [ ] UPDATE mystream \* sensor-id 1234 temperature 19.8 1518951480106-3
- [x] XADD mystream \* sensor-id 1234 temperature 9.8 1518951480106-0
- [ ] INSERT mystream \* sensor-d 1234 temperature 19.8 15181480106-2
# Which code example completes this statement and creates an index for a MongoDB object named restaurants, sorted ascending by the field name?
```
var indexCollection = function(db) {return co(function*() {...});};
```
- [ ] `const results = yield db.table('restaurants').createIndex({"name": 1}, null); return results;`
- [ ] `const results = yield db.collection('restaurants').createIndex({"name": 0}, null); return results;`
- [x] `const results = yield db.collection('restaurants').createIndex({"name": 1}, null); return results;`
- [ ] `const results = yield db.table('restaurants').createIndex({"name": 0}, null); return results;`
# Which Cypher code executes the multiquery block?
- [ ]
```
MATCH (c:Company {name: 'Neo4j'}) RETURN c, MATCH (p:Person) WHERE p.name = 'Jennifer' RETURN p,
MATCH (t:Technology)-[:LIKES]-(a:Person {name: 'Jennifer'}) RETURN t.type;
```
- [ ]
```
MATCH (c:Company {name: 'Neo4j'}) RETURN c, MATCH (p:Person) WHERE p.name = 'Jennifer' RETURN p,
MATCH (t:Technology)-[:LIKES]-(a:Person {name: 'Jennifer'}) RETURN t.type
```
- [ ]
```
MATCH (c:Company {name: 'Neo4j'}) RETURN c AND MATCH (p:Person) WHERE p.name = 'Jennifer' RETURN p,
AND MATCH (t:Technology)-[:LIKES]-(a:Person {name: 'Jennifer'}) RETURN t.type;
```
- [ ]
```
MATCH (c:Company {name: 'Neo4j'}) RETURN c;MATCH (p:Person) WHERE p.name = 'Jennifer' RETURN p;
MATCH (t:Technology)-[:LIKES]-(a:Person {name: 'Jennifer'}) RETURN t.type;
```
# You need to create a scalable database that supports immutable writes. What do you use?
- [x] A ledger database
- [ ] A graph database
- [ ] A key-value database
- [ ] A columnstore database
# You need to create a data store for the catalog for your new ecommerce application. Your company is a startup, so the catalog schema may evolve. Which do you choose?
- [ ] Neo4j
- [ ] Redis
- [ ] MySQL
- [x] MongoDB
# You need to select a NoSQL database for heavy aggregate query workloads. Which type do you choose?
- [ ] graph
- [ ] key-value
- [ ] document
- [x] columnstore
# You need to select a columnstore database that enforce built-in data types. You want to add indexes to improve performance for known workloads. Which do you choose?
- [ ] Cassandra
- [ ] Bigtable
- [x] Redis
- [ ] HBase
# In DynamoDB, the partition key and sort key are also known as which type of attributes?
- [ ] range, hash
- [ ] primary, range
- [x] hash, range
- [ ] range, secondary
# What is a popular, open-source key-value store database?
- [ ] MongoDB
- [x] Redis
- [ ] MySQL
- [ ] Cassandra
# You need to create a scalable database to store and query JSON data. What do you use?
- [ ] relational DB
- [x] document DB
- [ ] graph DB
- [ ] ledger DB
[store and query JSON](https://aws.amazon.com/nosql/document/#:~:text=The%20document%20database%20defined,use%20in%20their%20application%20code.)