{"id":1081,"date":"2019-07-09T10:58:00","date_gmt":"2019-07-09T10:58:00","guid":{"rendered":"https:\/\/www.testpreptraining.com\/tutorial\/?page_id=1081"},"modified":"2022-03-03T06:56:54","modified_gmt":"2022-03-03T06:56:54","slug":"determine-data-access-and-retrieval-patterns","status":"publish","type":"page","link":"https:\/\/www.testpreptraining.ai\/tutorial\/aws-certified-big-data-specialty\/determine-data-access-and-retrieval-patterns\/","title":{"rendered":"Determine AWS Data Access and Retrieval Patterns"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\"> <strong><strong>AWS Big Data Exam<\/strong> updated to <a href=\"https:\/\/www.testpreptraining.ai\/aws-certified-data-analytics-specialty-exam\" target=\"_blank\" rel=\"noreferrer noopener\">AWS Certified Data Analytics Specialty.<\/a><\/strong>  <\/h2>\n\n\n\n<h2 class=\"wp-block-heading\">AWS Data Access Selection<\/h2>\n\n\n\n<p>AWS data access depends upon requirement and <\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><td>\n   <strong>If You Need<\/strong>\n   <\/td><td>\n   <strong>Consider\n   Using<\/strong>\n   <\/td><\/tr><\/thead><tbody><tr><td>\n  Persistent local storage for Amazon EC2, for\n  relational and NoSQL databases, data warehousing, enterprise applications,\n  Big Data processing, or backup and recovery \n  <\/td><td>\n  Amazon Elastic Block Store (Amazon EBS)\n  <\/td><\/tr><tr><td>\n  A simple, scalable, elastic file system for\n  Linux-based workloads for use with AWS Cloud services and on-premises\n  resources. It is built to scale on demand to petabytes without disrupting applications,\n  growing and shrinking automatically as you add and remove files, so your\n  applications have the storage they need \u2013 when they need it. \n  <\/td><td>\n  Amazon Elastic File System (Amazon EFS)\n  <\/td><\/tr><tr><td>\n  A fully managed file system that is optimized for\n  compute-intensive workloads, such as high performance computing, machine\n  learning, and media data processing workflows, and is seamlessly integrated\n  with Amazon S3 \n  <\/td><td>\n  Amazon FSx for Lustre\n  <\/td><\/tr><tr><td>\n  A fully managed native Microsoft Windows file system\n  built on Windows Server so you can easily move your Windows-based\n  applications that require file storage to AWS, including full support for the\n  SMB protocol and Windows NTFS, Active Directory (AD) integration, and\n  Distributed File System (DFS).&nbsp; \n  <\/td><td>\n  Amazon FSx for Windows File Server\n  <\/td><\/tr><tr><td>   A scalable, durable platform to make AWS data accessible   from any Internet location, for user-generated content, active archive,   serverless computing, Big Data storage or backup and recovery    <\/td><td>\n  Amazon Simple Storage Service (Amazon S3)\n  <\/td><\/tr><tr><td>\n  Highly affordable long-term storage that can replace\n  tape for archive and regulatory compliance\n  <\/td><td>\n  Amazon Glacier\n  <\/td><\/tr><tr><td>\n  A hybrid storage cloud augmenting your on-premises\n  environment with Amazon cloud storage, for bursting, tiering or migration \n  <\/td><td>\n  AWS Storage Gateway\n  <\/td><\/tr><tr><td>\n  A portfolio of services to help simplify and\n  accelerate moving data of all types and sizes into and out of the AWS cloud\n  <\/td><td>\n  Cloud Data Migration Services\n  <\/td><\/tr><tr><td>\n  A fully managed backup service that makes it easy to\n  centralize and automate the back up of data across AWS services in the cloud\n  as well as on premises using the AWS Storage Gateway.&nbsp; \n  <\/td><td>\n  AWS Backup\n  <\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Data Design Patterns<\/strong><\/h2>\n\n\n\n<p>In data modeling, following terminology, is used<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>1:1 modeling: One-to-one relationship modeling\nusing a partition key as the primary key.<\/li><li>1:M modeling: One-to-many relationship modeling\nusing a partition key and a sort key as the primary key.<\/li><li>N:M modeling: Many-to-many relationship modeling\nusing a partition key and a sort key as the primary key with a table and a\nglobal secondary index.<\/li><\/ul>\n\n\n\n<p><strong>One-to-one (data\nmodel) <\/strong><\/p>\n\n\n\n<p>A one-to-one connection is a sort of cardinality that describes the relationship between two entities A and B in which one element of A may only be linked to one element of B and vice versa. There is a bijective function from point A to point B in mathematics. Consider A to be the set of all human people, and B to be the set of all human brains. Any individual from A can and must have only one brain from B, and any human brain in B can and must belong to only one individual from A.<\/p>\n\n\n\n<p>In a relational database, a one-to-one relationship\nexists when one row in a table may be linked with only one row in another table\nand vice versa. It is important to note that a one-to-one relationship is not a\nproperty of the data, but rather of the relationship itself. A list of mothers\nand their children may happen to describe mothers with only one child, in which\ncase one row of the mothers table will refer to only one row of the children\ntable and vice versa, but the relationship itself is not one-to-one, because\nmothers may have more than one child, thus forming a one-to-many relationship. <\/p>\n\n\n\n<p><strong>One-to-many <\/strong><\/p>\n\n\n\n<p>&nbsp;one-to-many\nrelationship is a type of cardinality that refers to the relationship between two\nentities (see also entity\u2013relationship model) A and B in which an element of A\nmay be linked to many elements of B, but a member of B is linked to only one\nelement of A. For instance, think of A as books, and B as pages. A book can\nhave many pages, but a page can only be in one book.<\/p>\n\n\n\n<p>In a relational database, a one-to-many relationship\nexists when one row in table A may be linked with many rows in table B, but one\nrow in table B is linked to only one row in table A. It is important to note\nthat a one-to-many relationship is not a property of the data, but rather of\nthe relationship itself. A list of authors and their books may happen to\ndescribe books with only one author, in which case one row of the books table\nwill refer to only one row of the authors table, but the relationship itself is\nnot one-to-many, because books may have more than one author, forming a\nmany-to-many relationship.<\/p>\n\n\n\n<p>The opposite of one-to-many is many-to-one. <\/p>\n\n\n\n<p><strong>Many-to-many<\/strong><\/p>\n\n\n\n<p>a many-to-many relationship is a type of cardinality\nthat refers to the relationship between two entities A and B in which A may\ncontain a parent instance for which there are many children in B and vice\nversa.<\/p>\n\n\n\n<p>For example, think of A as Authors, and B as Books. An\nAuthor can write several Books, and a Book can be written by several Authors.<\/p>\n\n\n\n<p>In a relational database management system, such relationships are usually implemented by means of an associative table (also known as join table, junction table or cross-reference table), say, AB with two one-to-many relationships A -&gt; AB and B -&gt; AB. In this case the logical primary key for AB is formed from the two foreign keys (i.e. copies of the primary keys of A and B).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">AWS Data Access &#8211; Amazon S3<\/h2>\n\n\n\n<p>Amazon S3 has a simple web services interface that you can use to store and retrieve any amount of data, at any time, from anywhere on the web. AWS Access control defines who can access objects and buckets within Amazon S3, and the type of AWS data access (e.g., READ and WRITE). The authentication process verifies the identity of a user who is trying to access Amazon Web Services (AWS). <\/p>\n\n\n\n<p><strong>Amazon S3\nConcepts<\/strong><\/p>\n\n\n\n<p>Buckets &#8211; A bucket is a container for objects stored in Amazon S3. Every object is contained in a bucket. For example, if the object named photos\/puppy.jpg is stored in the johnsmith bucket, then it is addressable using the URL http:\/\/johnsmith.s3.amazonaws.com\/photos\/puppy.jpg Buckets serve several purposes: they organize the Amazon S3 namespace at the highest level, they identify the account responsible for storage and data transfer charges, they play a role in AWS data access control, and they serve as the unit of aggregation for usage reporting. You can configure buckets so that they are created in a specific region. You can also configure a bucket so that every time an object is added to it, Amazon S3 generates a unique version ID and assigns it to the object. <\/p>\n\n\n\n<p>The following are the rules for naming S3 buckets in\nall AWS Regions:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Bucket names must be unique across all existing\nbucket names in Amazon S3.<\/li><li>Bucket names must comply with DNS naming\nconventions.<\/li><li>Bucket names must be at least 3 and no more than\n63 characters long.<\/li><li>Bucket names must not contain uppercase\ncharacters or underscores.<\/li><li>Bucket names must start with a lowercase letter\nor number.<\/li><li>Bucket names must be a series of one or more\nlabels. Adjacent labels are separated by a single period (.). Bucket names can\ncontain lowercase letters, numbers, and hyphens. Each label must start and end\nwith a lowercase letter or a number.<\/li><li>Bucket names must not be formatted as an IP\naddress (for example, 192.168.5.4).<\/li><li>When you use virtual hosted\u2013style buckets with\nSecure Sockets Layer (SSL), the SSL wildcard certificate only matches buckets\nthat don&#8217;t contain periods. To work around this, use HTTP or write your own\ncertificate verification logic. We recommend that you do not use periods\n(&#8220;.&#8221;) in bucket names when using virtual hosted\u2013style buckets.<\/li><\/ul>\n\n\n\n<p>Objects &#8211; Objects are the fundamental entities\nstored in Amazon S3. Objects consist of object data and metadata. The data\nportion is opaque to Amazon S3. The metadata is a set of name-value pairs that\ndescribe the object. These include some default metadata, such as the date last\nmodified, and standard HTTP metadata, such as Content-Type. You can also\nspecify custom metadata at the time the object is stored. An object is uniquely\nidentified within a bucket by a key (name) and a version ID.<\/p>\n\n\n\n<p>Keys &#8211; A key is the unique identifier for an\nobject within a bucket. Every object in a bucket has exactly one key. Because\nthe combination of a bucket, key, and version ID uniquely identify each object,\nAmazon S3 can be thought of as a basic data map between &#8220;bucket + key +\nversion&#8221; and the object itself. Every object in Amazon S3 can be uniquely\naddressed through the combination of the web service endpoint, bucket name,\nkey, and optionally, a version. For example, in the URL\nhttp:\/\/doc.s3.amazonaws.com\/2006-03-01\/AmazonS3.wsdl, &#8220;doc&#8221; is the\nname of the bucket and &#8220;2006-03-01\/AmazonS3.wsdl&#8221; is the key. <\/p>\n\n\n\n<p>Regions &#8211; You can choose the geographical region\nwhere Amazon S3 will store the buckets you create. You might choose a region to\noptimize latency, minimize costs, or address regulatory requirements. Objects\nstored in a region never leave the region unless you explicitly transfer them\nto another region. For example, objects stored in the EU (Ireland) region never\nleave it. <\/p>\n\n\n\n<p>Amazon S3 Data Consistency Model &#8211; Amazon S3\nprovides read-after-write consistency for PUTS of new objects in your S3 bucket\nin all regions with one caveat. The caveat is that if you make a HEAD or GET\nrequest to the key name (to find if the object exists) before creating the\nobject, Amazon S3 provides eventual consistency for read-after-write.<\/p>\n\n\n\n<p>Amazon S3 offers eventual consistency for overwrite\nPUTS and DELETES in all regions.<\/p>\n\n\n\n<p>Updates to a single key are atomic. For example, if you\nPUT to an existing key, a subsequent read might return the old data or the\nupdated data, but it will never return corrupted or partial data.<\/p>\n\n\n\n<p>Amazon S3 achieves high availability by replicating\ndata across multiple servers within Amazon&#8217;s data centers. If a PUT request is\nsuccessful, your data is safely stored. However, information about the changes\nmust replicate across Amazon S3, which can take some time, and so you might\nobserve the following behaviors:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>A process writes a new object to Amazon S3 and\nimmediately lists keys within its bucket. Until the change is fully propagated,\nthe object might not appear in the list.<\/li><li>A process replaces an existing object and\nimmediately attempts to read it. Until the change is fully propagated, Amazon\nS3 might return the prior data.<\/li><li>A process deletes an existing object and\nimmediately attempts to read it. Until the deletion is fully propagated, Amazon\nS3 might return the deleted data.<\/li><li>A process deletes an existing object and\nimmediately lists keys within its bucket. Until the deletion is fully propagated,\nAmazon S3 might list the deleted object.<\/li><\/ul>\n\n\n\n<p>The following table describes the characteristics of\neventually consistent read and consistent read.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>\n  Eventually Consistent Read \n  <\/td><td>\n  Consistent Read\n  <\/td><\/tr><tr><td>\n  Stale reads possible \n  <\/td><td>\n  No stale reads\n  <\/td><\/tr><tr><td>\n  Lowest read latency \n  <\/td><td>\n  Potential higher read latency\n  <\/td><\/tr><tr><td>\n  Highest read throughput \n  <\/td><td>\n  Potential lower read throughput\n  <\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><strong>Concurrent\nApplications<\/strong><\/p>\n\n\n\n<p>In this example, both W1 (write 1) and W2 (write 2) complete before the start of R1 (read 1) and R2 (read 2). For a consistent read, R1 and R2 both return color = ruby. For an eventually consistent read, R1 and R2 might return color = red or color = ruby depending on the amount of time that has elapsed.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"600\" height=\"383\" src=\"https:\/\/www.testpreptraining.ai\/tutorial\/wp-content\/uploads\/2019\/07\/determine-data-access-and-retrieval-patterns-01.png\" alt=\"determine AWS data access and retrieval patterns for Concurrent Applications\n\" class=\"wp-image-1196\"\/><\/figure><\/div>\n\n\n\n<p>In the next example, W2 does not complete before the\nstart of R1. Therefore, R1 might return color = ruby or color = garnet for\neither a consistent read or an eventually consistent read. Also, depending on\nthe amount of time that has elapsed, an eventually consistent read might return\nno results.<\/p>\n\n\n\n<p>For a consistent read, R2 returns color = garnet. For an eventually consistent read, R2 might return color = ruby or color = garnet depending on the amount of time that has elapsed.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"600\" height=\"379\" src=\"https:\/\/www.testpreptraining.ai\/tutorial\/wp-content\/uploads\/2019\/07\/determine-data-access-and-retrieval-patterns-02.png\" alt=\"determine AWS data access and retrieval patterns for Concurrent Applications\n\" class=\"wp-image-1197\"\/><\/figure><\/div>\n\n\n\n<p>In the last example, Client 2 performs W2 before Amazon S3 returns a success for W1, so the outcome of the final value is unknown (color = garnet or color = brick). Any subsequent reads (consistent read or eventually consistent) might return either value. Also, depending on the amount of time that has elapsed, an eventually consistent read might return no results.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"600\" height=\"380\" src=\"https:\/\/www.testpreptraining.ai\/tutorial\/wp-content\/uploads\/2019\/07\/determine-data-access-and-retrieval-patterns-03.png\" alt=\"determine AWS data access and retrieval patterns for Concurrent Applications\n\" class=\"wp-image-1198\"\/><\/figure><\/div>\n\n\n\n<p><strong>Bucket Policies<\/strong><\/p>\n\n\n\n<p>Bucket policies provide centralized AWS data access control to buckets and objects based on a variety of conditions, including Amazon S3 operations, requesters, resources, and aspects of the request (e.g., IP address). The policies are expressed in our AWS data access policy language and enable centralized management of permissions. The permissions attached to a bucket apply to all of the objects in that bucket.<\/p>\n\n\n\n<p>Individuals as well as companies can use bucket\npolicies. When companies register with Amazon S3 they create an account.\nThereafter, the company becomes synonymous with the account. Accounts are\nfinancially responsible for the Amazon resources they (and their employees)\ncreate. Accounts have the power to grant bucket policy permissions and assign\nemployees permissions based on a variety of conditions. For example, an account\ncould create a policy that gives a user write access:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>To a particular S3 bucket<\/li><li>From an account&#8217;s corporate network<\/li><li>During business hours<\/li><\/ul>\n\n\n\n<p>An account can grant one user limited read and write\naccess, but allow another to create and delete buckets as well. An account\ncould allow several field offices to store their daily reports in a single\nbucket, allowing each office to write only to a certain set of names (e.g.,\n&#8220;Nevada\/*&#8221; or &#8220;Utah\/*&#8221;) and only from the office&#8217;s IP\naddress range.<\/p>\n\n\n\n<p>Unlike AWS data access control lists, which can add (grant) permissions only on individual objects, policies can either add or deny permissions across all (or a subset) of objects within a bucket. With one request an account can set the permissions of any number of objects in a bucket. An account can use wildcards (similar to regular expression operators) on Amazon resource names (ARNs) and other values, so that an account can control access to groups of objects that begin with a common prefix or end with a given extension such as .html.<\/p>\n\n\n\n<p>Only the bucket owner is allowed to associate a policy with a bucket. Policies, written in the AWS data access policy language, allow or deny requests based on:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Amazon S3 bucket operations (such as PUT ?acl),\nand object operations (such as PUT Object, or GET Object)<\/li><li>Requester<\/li><li>Conditions specified in the policy<\/li><\/ul>\n\n\n\n<p>An account can control AWS data access based on specific Amazon S3 operations, such as GetObject, GetObjectVersion, DeleteObject, or DeleteBucket.<\/p>\n\n\n\n<p>The conditions can be such things as IP addresses, IP\naddress ranges in CIDR notation, dates, user agents, HTTP referrer and\ntransports (HTTP and HTTPS). <\/p>\n\n\n\n<p>Storage Tiers<\/p>\n\n\n\n<p><strong>Amazon S3\nStorage Classes<\/strong><\/p>\n\n\n\n<p>The following table compares the storage classes.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><td>\n   <strong>Storage Class<\/strong><strong><\/strong>\n   <\/td><td>\n   <strong>Designed for<\/strong><strong><\/strong>\n   <\/td><td>\n   <strong>Durability\n   (designed for)<\/strong><strong><\/strong>\n   <\/td><td>\n   <strong>Availability\n   (designed for)<\/strong><strong><\/strong>\n   <\/td><td>\n   <strong>Availability\n   Zones<\/strong><strong><\/strong>\n   <\/td><td>\n   <strong>Min storage\n   duration<\/strong><strong><\/strong>\n   <\/td><td>\n   <strong>Min billable\n   object size<\/strong><strong><\/strong>\n   <\/td><td>\n   <strong>Other\n   Considerations <\/strong><strong><\/strong>\n   <\/td><\/tr><\/thead><tbody><tr><td>\n  STANDARD\n  <\/td><td>\n  Frequently accessed data\n  <\/td><td>\n  99.999999999% \n  <\/td><td>\n  99.99%\n  <\/td><td>\n  &gt;= 3\n  <\/td><td>\n  None\n  <\/td><td>\n  None\n  <\/td><td>\n  None\n  <\/td><\/tr><tr><td>\n  STANDARD_IA\n  <\/td><td>\n  Long-lived, infrequently accessed data\n  <\/td><td>\n  99.999999999% \n  <\/td><td>\n  99.9%\n  <\/td><td>\n  &gt;= 3\n  <\/td><td>\n  30 days\n  <\/td><td>\n  128 KB\n  <\/td><td>\n  Per GB retrieval fees apply. \n  <\/td><\/tr><tr><td>\n  INTELLIGENT_TIERING\n  <\/td><td>   Long-lived data with changing or unknown AWS data access patterns   <\/td><td>\n  99.999999999%\n  <\/td><td>\n  99.9%\n  <\/td><td>\n  &gt;= 3\n  <\/td><td>\n  30 days\n  <\/td><td>\n  None\n  <\/td><td>\n  Monitoring and automation fees per object apply. No retrieval fees.\n  <\/td><\/tr><tr><td>\n  ONEZONE_IA\n  <\/td><td>\n  Long-lived, infrequently accessed, non-critical data\n  <\/td><td>\n  99.999999999% \n  <\/td><td>\n  99.5%\n  <\/td><td>\n  1\n  <\/td><td>\n  30 days\n  <\/td><td>\n  128 KB\n  <\/td><td>\n  Per GB retrieval fees apply. Not resilient to the loss of the Availability\n  Zone. \n  <\/td><\/tr><tr><td>\n  GLACIER\n  <\/td><td>\n  Long-term data archiving with retrieval times ranging from\n  minutes to hours \n  <\/td><td>\n  99.999999999% \n  <\/td><td>\n  99.99% (after you restore objects)\n  <\/td><td>\n  &gt;= 3\n  <\/td><td>\n  90 days\n  <\/td><td>\n  None\n  <\/td><td>\n  Per GB retrieval fees apply. You must first restore\n  archived objects before you can access them. For more information, see Restoring\n  Archived Objects. \n  <\/td><\/tr><tr><td>\n  DEEP_ARCHIVE\n  <\/td><td>\n  Archiving rarely accessed data with a default retrieval\n  time of 12 hours \n  <\/td><td>\n  99.999999999% \n  <\/td><td>\n  99.99% (after you restore objects)\n  <\/td><td>\n  &gt;= 3\n  <\/td><td>\n  180 days\n  <\/td><td>\n  None\n  <\/td><td>\n  Per GB retrieval fees apply. You must first restore\n  archived objects before you can access them. For more information, see Restoring\n  Archived Objects. \n  <\/td><\/tr><tr><td>\n  RRS (Not recommended)\n  <\/td><td>\n  Frequently accessed, non-critical data\n  <\/td><td>\n  99.99% \n  <\/td><td>\n  99.99%\n  <\/td><td>\n  &gt;= 3\n  <\/td><td>\n  None\n  <\/td><td>\n  None\n  <\/td><td>\n  None\n  <\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>All of the storage classes except for ONEZONE_IA are designed to be\nresilient to simultaneous complete data loss in a single Availability Zone and\npartial loss in another Availability Zone. <\/p>\n\n\n\n<p><strong>Operations<\/strong><\/p>\n\n\n\n<p>Following are the most common operations you&#8217;ll execute\nthrough the API.<\/p>\n\n\n\n<p>Common Operations<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Create a Bucket \u2013 Create and name your own bucket in which to store your objects.<\/li><li>Write an Object \u2013 Store data by creating or overwriting an object. When you write an object, you specify a unique key in the namespace of your bucket. This is also a good time to specify any AWS data access control you want on the object.<\/li><li>Read an Object \u2013 Read data back. You can download the data via HTTP or BitTorrent.<\/li><li>Deleting an Object \u2013 Delete some of your data.<\/li><li>Listing Keys \u2013 List the keys contained in one of your buckets. You can filter the key list based on a prefix.<\/li><\/ul>\n\n\n\n<p><strong>Encryption<\/strong><\/p>\n\n\n\n<p>Server-side encryption is about data encryption at rest\u2014that is, Amazon S3 encrypts your data at the object level as it writes it to disks in its data centers and decrypts it for you when you access it. As long as you authenticate your request and you have AWS data access permissions, there is no difference in the way you access encrypted or unencrypted objects. For example, if you share your objects using a presigned URL, that URL works the same way for both encrypted and unencrypted objects.<\/p>\n\n\n\n<p>You can&#8217;t apply different types of server-side\nencryption to the same object simultaneously.<\/p>\n\n\n\n<p>You have three mutually exclusive options depending on\nhow you choose to manage the encryption keys:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Use Server-Side Encryption with Amazon S3-Managed Keys (SSE-S3) \u2013 Each object is encrypted with a unique key. As an additional safeguard, it encrypts the key itself with a master key that it regularly rotates. Amazon S3 server-side encryption uses one of the strongest block ciphers available, 256-bit Advanced Encryption Standard (AES-256), to encrypt your data. <\/li><li>Use Server-Side Encryption with AWS KMS-Managed Keys (SSE-KMS) \u2013 Similar to SSE-S3, but with some additional benefits along with some additional charges for using this service. There are separate permissions for the use of an envelope key (that is, a key that protects your data&#8217;s encryption key) that provides added protection against unauthorized AWS data access of your objects in Amazon S3. SSE-KMS also provides you with an audit trail of when your key was used and by whom. Additionally, you have the option to create and manage encryption keys yourself, or use a default key that is unique to you, the service you&#8217;re using, and the Region you&#8217;re working in. <\/li><li>Use Server-Side Encryption with Customer-Provided Keys (SSE-C) \u2013 You manage the encryption keys and Amazon S3 manages the encryption, as it writes to disks, and decryption, when you access your objects.<\/li><\/ul>\n\n\n\n<p>Client-side encryption &#8211; Client-side encryption is the\nact of encrypting data before sending it to Amazon S3. To enable client-side\nencryption, you have the following options:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Use an AWS KMS-managed customer master key.<\/li><li>Use a client-side master key.<\/li><\/ul>\n\n\n\n<p>The following AWS SDKs support client-side encryption:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>AWS SDK for .NET<\/li><li>AWS SDK for Go<\/li><li>AWS SDK for Java<\/li><li>AWS SDK for PHP<\/li><li>AWS SDK for Ruby<\/li><li>AWS SDK for C++;<\/li><\/ul>\n\n\n\n<p><strong>S3 Logging<\/strong><\/p>\n\n\n\n<p>To track requests for AWS data access to your bucket, you can enable server access logging. Each AWS data access log record provides details about a single access request, such as the requester, bucket name, request time, request action, response status, and an error code, if relevant. <\/p>\n\n\n\n<p>To enable AWS data access logging, you must do the following:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Turn on the log delivery by adding logging\nconfiguration on the bucket for which you want Amazon S3 to deliver access\nlogs. We refer to this bucket as the source bucket.<\/li><li>Grant the Amazon S3 Log Delivery group write\npermission on the bucket where you want the access logs saved. We refer to this\nbucket as the target bucket.<\/li><\/ul>\n\n\n\n<p>To turn on log delivery, you provide the following\nlogging configuration information:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>The name of the target bucket where you want\nAmazon S3 to save the access logs as objects. You can have logs delivered to\nany bucket that you own that is in the same Region as the source bucket,\nincluding the source bucket itself.<\/li><li>We recommend that you save access logs in a\ndifferent bucket so that you can easily manage the logs. If you choose to save\naccess logs in the source bucket, we recommend that you specify a prefix for\nall log object keys so that the object names begin with a common string and the\nlog objects are easier to identify.<\/li><li>When your source bucket and target bucket are\nthe same bucket, additional logs are created for the logs that are written to\nthe bucket. This behavior might not be ideal for your use case because it could\nresult in a small increase in your storage billing. In addition, the extra logs\nabout logs might make it harder to find the log that you&#8217;re looking for. <\/li><\/ul>\n\n\n\n<p>Amazon S3 uses the following object key format for the\nlog objects it uploads in the target bucket:<\/p>\n\n\n\n<p>TargetPrefixYYYY-mm-DD-HH-MM-SS-UniqueString <\/p>\n\n\n\n<p>In the key, YYYY, mm, DD, HH, MM, and SS are the digits of the year, month, day, hour, minute, and seconds (respectively) when the log file was delivered. A log file delivered at a specific time can contain records written at any point before that time. There is no way to know whether all log records for a certain time interval have been delivered or not. The UniqueString component of the key is there to prevent overwriting of files. It has no meaning, and log processing software should ignore it. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">AWS Data Access &#8211;  Amazon S3 Glacier<\/h2>\n\n\n\n<p>Glacier is an extremely low-cost storage service that\nprovides durable storage with security features for data archiving and backup.\nWith Glacier, customers can store their data cost effectively for months,\nyears, or even decades. Glacier enables customers to offload the administrative\nburdens of operating and scaling storage to AWS, so they don&#8217;t have to worry\nabout capacity planning, hardware provisioning, data replication, hardware\nfailure detection and recovery, or time-consuming hardware migrations.<\/p>\n\n\n\n<p><strong>Amazon S3\nGlacier Data Model &#8211; <\/strong>The Amazon S3 Glacier (Glacier) data model core\nconcepts include vaults and archives. Glacier is a REST-based web service. In\nterms of REST, vaults and archives are the resources. In addition, the Glacier\ndata model includes job and notification-configuration resources. These\nresources complement the core resources. <\/p>\n\n\n\n<p>Vault &#8211; In Glacier, a vault is a container for storing\narchives. When you create a vault, you specify a name and choose an AWS Region\nwhere you want to create the vault. Each vault resource has a unique address.\nThe general form is:<\/p>\n\n\n\n<p>https:\/\/&lt;region-specific\nendpoint&gt;\/&lt;account-id&gt;\/vaults\/&lt;vaultname&gt;<\/p>\n\n\n\n<p>You can store an unlimited number of archives in a\nvault. Depending on your business or application needs, you can store these\narchives in one vault or multiple vaults.<\/p>\n\n\n\n<p>Glacier supports various vault operations. Note that\nvault operations are Region specific. For example, when you create a vault, you\ncreate it in a specific Region. When you request a vault list, you request it\nfrom a specific AWS Region, and the resulting list only includes vaults created\nin that specific Region.<\/p>\n\n\n\n<p>Archive &#8211; An archive can be any data such as a photo,\nvideo, or document and is a base unit of storage in Glacier. Each archive has a\nunique ID and an optional description. Note that you can only specify the\noptional description during the upload of an archive. Glacier assigns the\narchive an ID, which is unique in the AWS Region in which it is stored. Each\narchive has a unique address. The general form is as follows:<\/p>\n\n\n\n<p>https:\/\/&lt;region-specific\nendpoint&gt;\/&lt;account-id&gt;\/vaults\/&lt;vault-name&gt;\/archives\/&lt;archive-id&gt;<\/p>\n\n\n\n<p>Job &#8211; Glacier jobs can perform a select query on an\narchive, retrieve an archive, or get an inventory of a vault. When performing a\nquery on an archive, you initiate a job providing a SQL query and list of\nGlacier archive objects. Glacier Select runs the query in place and writes the\noutput results to Amazon S3. <\/p>\n\n\n\n<p>Retrieving an archive and vault inventory (list of\narchives) are asynchronous operations in Glacier in which you first initiate a\njob, and then download the job output after Glacier completes the job. <\/p>\n\n\n\n<p>Notification Configuration &#8211; Because jobs take time to\ncomplete, Glacier supports a notification mechanism to notify you when a job is\ncomplete. You can configure a vault to send notification to an Amazon Simple\nNotification Service (Amazon SNS) topic when jobs complete. You can specify one\nSNS topic per vault in the notification configuration. Glacier stores the\nnotification configuration as a JSON document.<\/p>\n\n\n\n<p>Amazon S3 Glacier (Glacier) supports a set of\noperations. Among all the supported operations, only the following operations\nare asynchronous:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Retrieving an archive<\/li><li>Retrieving a vault inventory (list of archives)<\/li><\/ul>\n\n\n\n<p>These operations require you to first initiate a job\nand then download the job output. <\/p>\n\n\n\n<p><strong>Archive Retrieval Options &#8211; <\/strong>You can specify one of the following when initiating a job to retrieve an archive based on your AWS data access time and cost requirements. <\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Expedited \u2014 AWS data access has expedited retrievals which allow you to quickly access your data when occasional urgent requests for a subset of archives are required. For all but the largest archives (250 MB+), data accessed using Expedited retrievals are typically made available within 1\u20135 minutes. Provisioned Capacity ensures that retrieval capacity for Expedited retrievals is available when you need it. <\/li><li>Standard \u2014 AWS data access under standard retrievals allow you to access any of your archives within several hours. Standard retrievals typically complete within 3\u20135 hours. This is the default option for retrieval requests that do not specify the retrieval option.<\/li><li>Bulk \u2014 Bulk retrievals are Glacier\u2019s lowest-cost retrieval option, which you can use to retrieve large amounts, even petabytes, of data inexpensively in a day. Bulk retrievals typically complete within 5\u201312 hours.<\/li><\/ul>\n\n\n\n<p><strong>Amazon S3\nGlacier Vault &#8211; <\/strong>Creating a vault adds a vault to the set of vaults in your\naccount. An AWS account can create up to 1,000 vaults per region.<\/p>\n\n\n\n<p>When you create a vault, you must provide a vault name.\nThe following are the vault naming requirements:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Names can be between 1 and 255 characters long.<\/li><li>Allowed characters are a\u2013z, A\u2013Z, 0\u20139, &#8216;_&#8217;\n(underscore), &#8216;-&#8216; (hyphen), and &#8216;.&#8217; (period).<\/li><\/ul>\n\n\n\n<p>Vault names must be unique within an account and the\nregion in which the vault is being created. That is, an account can create\nvaults with the same name in different regions but not in the same region. <\/p>\n\n\n\n<p>You can retrieve vault information such as the vault\ncreation date, number of archives in the vault, and the total size of all the\narchives in the vault. Amazon S3 Glacier (Glacier) provides API calls for you\nto retrieve this information for a specific vault or all the vaults in a\nspecific region in your account.<\/p>\n\n\n\n<p>If you retrieve a vault list, Glacier returns the list sorted by the ASCII values of the vault names. The list contains up to 1,000 vaults. You should always check the response for a marker at which to continue the list; if there are no more items the marker field is null. You can optionally limit the number of vaults returned in the response. If there are more vaults than are returned in the response, the result is paginated. You need to send additional requests to fetch the next set of vaults.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">AWS Data Access &#8211;  Amazon DynamoDB<\/h2>\n\n\n\n<p>Amazon DynamoDB is a fully managed NoSQL database\nservice that provides fast and predictable performance with seamless\nscalability. DynamoDB lets you offload the administrative burdens of operating\nand scaling a distributed database, so that you don&#8217;t have to worry about\nhardware provisioning, setup and configuration, replication, software patching,\nor cluster scaling. Also, DynamoDB offers encryption at rest, which eliminates\nthe operational burden and complexity involved in protecting sensitive data.<\/p>\n\n\n\n<p>With DynamoDB, you can create database tables that can\nstore and retrieve any amount of data, and serve any level of request traffic.\nYou can scale up or scale down your tables&#8217; throughput capacity without\ndowntime or performance degradation, and use the AWS Management Console to monitor\nresource utilization and performance metrics. Amazon DynamoDB provides\non-demand backup capability. It allows you to create full backups of your\ntables for long-term retention and archival for regulatory compliance needs.<\/p>\n\n\n\n<p>In DynamoDB, tables, items, and attributes are the core\ncomponents that you work with. A table is a collection of items, and each item\nis a collection of attributes. DynamoDB uses primary keys to uniquely identify\neach item in a table and secondary indexes to provide more querying flexibility.\nYou can use DynamoDB Streams to capture data modification events in DynamoDB\ntables. <\/p>\n\n\n\n<p><strong>DynamoDB\ncomponents<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Tables \u2013 Similar to other database systems,\nDynamoDB stores data in tables. A table is a collection of data. For example,\nsee the example table called People that you could use to store personal\ncontact information about friends, family, or anyone else of interest. You\ncould also have a Cars table to store information about vehicles that people\ndrive.<\/li><li>Items \u2013 Each table contains zero or more items.\nAn item is a group of attributes that is uniquely identifiable among all of the\nother items. In a People table, each item represents a person. For a Cars\ntable, each item represents one vehicle. Items in DynamoDB are similar in many\nways to rows, records, or tuples in other database systems. In DynamoDB, there\nis no limit to the number of items you can store in a table.<\/li><li>Attributes \u2013 Each item is composed of one or more\nattributes. An attribute is a fundamental data element, something that does not\nneed to be broken down any further. For example, an item in a People table\ncontains attributes called PersonID, LastName, FirstName, and so on. For a\nDepartment table, an item might have attributes such as DepartmentID, Name,\nManager, and so on. Attributes in DynamoDB are similar in many ways to fields\nor columns in other database systems.<\/li><\/ul>\n\n\n\n<p>The following diagram shows a table named People with some example items and attributes.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"217\" height=\"400\" src=\"https:\/\/www.testpreptraining.ai\/tutorial\/wp-content\/uploads\/2019\/07\/determine-data-access-and-retrieval-patterns-217x400.png\" alt=\"determine AWS data access and retrieval patterns for Concurrent Applications\n\" class=\"wp-image-1199\" srcset=\"https:\/\/www.testpreptraining.ai\/tutorial\/wp-content\/uploads\/2019\/07\/determine-data-access-and-retrieval-patterns-217x400.png 217w, https:\/\/www.testpreptraining.ai\/tutorial\/wp-content\/uploads\/2019\/07\/determine-data-access-and-retrieval-patterns.png 274w\" sizes=\"auto, (max-width: 217px) 100vw, 217px\" \/><\/figure><\/div>\n\n\n\n<p>Note the following about the People table:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Each item in the table has a unique identifier,\nor primary key, that distinguishes the item from all of the others in the\ntable. In the People table, the primary key consists of one attribute\n(PersonID).<\/li><li>Other than the primary key, the People table is\nschemaless, which means that neither the attributes nor their data types need\nto be defined beforehand. Each item can have its own distinct attributes.<\/li><li>Most of the attributes are scalar, which means\nthat they can have only one value. Strings and numbers are common examples of\nscalars.<\/li><li>Some of the items have a nested attribute\n(Address). DynamoDB supports nested attributes up to 32 levels deep.<\/li><\/ul>\n\n\n\n<p>DynamoDB supports two different kinds of primary keys:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Partition key \u2013 A simple primary key, composed of one attribute known as the partition key. DynamoDB uses the partition key&#8217;s value as input to an internal hash function. The output from the hash function determines the partition (physical storage internal to DynamoDB) in which the item will be stored. In a table that has only a partition key, no two items can have the same partition key value. The People table described in Tables, Items, and Attributes is an example of a table with a simple primary key (PersonID). You can access any item in the People table directly by providing the PersonId value for that item for AWS data access.<\/li><li>Partition key and sort key \u2013 Referred to as a composite primary key, this type of key is composed of two attributes. The first attribute is the partition key, and the second attribute is the sort key. DynamoDB uses the partition key value as input to an internal hash function. The output from the hash function determines the partition (physical storage internal to DynamoDB) in which the item will be stored. All items with the same partition key value are stored together, in sorted order by sort key value. <\/li><\/ul>\n\n\n\n<p><strong>Secondary\nIndexes &#8211; <\/strong>You can create one or more secondary indexes on a table. A\nsecondary index lets you query the data in the table using an alternate key, in\naddition to queries against the primary key. DynamoDB doesn&#8217;t require that you\nuse indexes, but they give your applications more flexibility when querying\nyour data. After you create a secondary index on a table, you can read data\nfrom the index in much the same way as you do from the table.<\/p>\n\n\n\n<p>DynamoDB supports two kinds of indexes:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Global secondary index \u2013 An index with a\npartition key and sort key that can be different from those on the table.<\/li><li>Local secondary index \u2013 An index that has the\nsame partition key as the table, but a different sort key.<\/li><\/ul>\n\n\n\n<p>DynamoDB supports eventually consistent and strongly\nconsistent reads.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Eventually Consistent Reads &#8211; When you read data from a DynamoDB table, the response might not reflect the results of a recently completed write operation. The response might include some stale data. If you repeat your read request after a short time, the response should return the latest data.<\/li><li>Strongly Consistent Reads &#8211; When you request a strongly consistent read, DynamoDB returns a response with the most up-to-date data, reflecting the updates from all prior write operations that were successful. A strongly consistent read might not be available if there is a network delay or outage. Consistent reads are not supported on global secondary indexes (GSI).<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">AWS Data Access &#8211;  Amazon ElastiCache <\/h2>\n\n\n\n<p>Amazon ElastiCache makes it easy to set up, manage, and\nscale distributed in-memory cache environments in the AWS Cloud. It provides a\nhigh performance, resizable, and cost-effective in-memory cache, while removing\ncomplexity associated with deploying and managing a distributed cache\nenvironment. ElastiCache works with both the Redis and Memcached engines; to\nsee which works best for you<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">AWS and Redis<\/h2>\n\n\n\n<p>Redis, which stands for Remote Dictionary Server, is a\nfast, open-source, in-memory key-value data store for use as a database, cache,\nmessage broker, and queue. The project started when Salvatore Sanfilippo, the\noriginal developer of Redis, was trying to improve the scalability of his\nItalian startup. Redis now delivers sub-millisecond response times enabling\nmillions of requests per second for real-time applications in Gaming, Ad-Tech,\nFinancial Services, Healthcare, and IoT. Redis is a popular choice for caching,\nsession management, gaming, leaderboards, real-time analytics, geospatial,\nride-hailing, chat\/messaging, media streaming, and pub\/sub apps.<\/p>\n\n\n\n<p>All Redis data resides in-memory, in contrast to\ndatabases that store data on disk or SSDs. By eliminating the need to access\ndisks, in-memory data stores such as Redis avoid seek time delays and can\naccess data in microseconds. Redis features versatile data structures, high\navailability, geospatial, Lua scripting, transactions, on-disk persistence, and\ncluster support making it simpler to build real-time internet scale apps.<\/p>\n\n\n\n<p>Redis has a vast variety of data structures to meet\nyour application needs. Redis data types include:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Strings \u2013 text or binary data up to 512MB in\nsize<\/li><li>Lists \u2013 a collection of Strings in the order\nthey were added<\/li><li>Sets \u2013 an unordered collection of strings with\nthe ability to intersect, union, and diff other Set types<\/li><li>Sorted Sets \u2013 Sets ordered by a value<\/li><li>Hashes \u2013 a data structure for storing a list of\nfields and values<\/li><li>Bitmaps \u2013 a data type that offers bit level\noperations<\/li><li>HyperLogLogs \u2013 a probabilistic data structure to\nestimate the unique items in a data set<\/li><\/ul>\n\n\n\n<p>A node is the smallest building block of an ElastiCache\ndeployment. A node can exist in isolation from or in some relationship to other\nnodes.<\/p>\n\n\n\n<p>A node is a fixed-size chunk of secure,\nnetwork-attached RAM. Each node runs an instance of the engine and version that\nwas chosen when you created your cluster. If necessary, you can scale the nodes\nin a cluster up or down to a different instance type.<\/p>\n\n\n\n<p>A Redis shard (called a node group in the API and CLI)\nis a grouping of one to six related nodes. A Redis (cluster mode disabled)\ncluster always has one shard. A Redis (cluster mode enabled) cluster can have\n1\u201390 shards. A multiple node shard implements replication by have one\nread\/write primary node and 1\u20135 replica nodes. A Redis cluster is a logical\ngrouping of one or more ElastiCache for Redis Shards. Data is partitioned\nacross the shards in a Redis (cluster mode enabled) cluster.<\/p>\n\n\n\n<p>Many ElastiCache operations are targeted at clusters:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Creating a cluster<\/li><li>Modifying a cluster<\/li><li>Taking snapshots of a cluster (all versions of\nRedis)<\/li><li>Deleting a cluster<\/li><li>Viewing the elements in a cluster<\/li><li>Adding or removing cost allocation tags to and\nfrom a cluster<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>AWS and  Memcached<\/strong><\/h2>\n\n\n\n<p>ElastiCache is a web service that makes it easy to set\nup, manage, and scale a distributed in-memory data store or cache environment\nin the cloud. It provides a high-performance, scalable, and cost-effective\ncaching solution, while removing the complexity associated with deploying and\nmanaging a distributed cache environment. <\/p>\n\n\n\n<p>A node is the smallest building block of an ElastiCache\ndeployment. A node can exist in isolation from or in some relationship to other\nnodes.<\/p>\n\n\n\n<p>A node is a fixed-size chunk of secure,\nnetwork-attached RAM. Each node runs an instance of Memcached. If necessary,\nyou can scale the nodes in a cluster up or down to a different instance type. <\/p>\n\n\n\n<p>The Memcached engine supports Auto Discovery. Auto\nDiscovery is the ability for client programs to automatically identify all of\nthe nodes in a cache cluster, and to initiate and maintain connections to all\nof these nodes. With Auto Discovery, your application doesn&#8217;t need to manually\nconnect to individual nodes. Instead, your application connects to a\nconfiguration endpoint. The configuration endpoint DNS entry contains the CNAME\nentries for each of the cache node endpoints.<\/p>\n\n\n\n<p>Amazon ElastiCache for Memcached is available in\nmultiple AWS Regions around the world. Thus, you can launch ElastiCache\nclusters in the locations that meet your business requirements. For example,\nyou can launch in the AWS Region closest to your customers or to meet certain\nlegal requirements.<\/p>\n\n\n\n<p>By default, the AWS SDKs, AWS CLI, ElastiCache API, and\nElastiCache console reference the US-West (Oregon) region. As ElastiCache\nexpands availability to new AWS Regions, new endpoints for these AWS Regions\nare also available to use in your HTTP requests, the AWS SDKs, AWS CLI, and\nElastiCache console. <\/p>\n\n\n\n<p>Choose Memcached if the following apply for you:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>You need the simplest model possible.<\/li><li>You need to run large nodes with multiple cores\nor threads.<\/li><li>You need the ability to scale out and in, adding\nand removing nodes as demand on your system increases and decreases.<\/li><li>You need to cache objects, such as a database.<\/li><\/ul>\n\n\n\n<p><\/p>\n\n\n\n<p>Free Practice Test on AWS data access &#8211; <a href=\"https:\/\/www.testpreptraining.ai\/aws-certified-big-data-specialty-free-practice-test\">https:\/\/www.testpreptraining.ai\/aws-certified-big-data-specialty-free-practice-test<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>AWS Big Data Exam updated to AWS Certified Data Analytics Specialty. AWS Data Access Selection AWS data access depends upon requirement and If You Need Consider Using Persistent local storage for Amazon EC2, for relational and NoSQL databases, data warehousing, enterprise applications, Big Data processing, or backup and recovery Amazon Elastic Block Store (Amazon EBS)&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":1031,"menu_order":8,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"categories":[2],"tags":[],"class_list":["post-1081","page","type-page","status-publish","hentry","category-amazon-aws"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v22.1 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Determine AWS Data Access and Retrieval Patterns - Testprep Training Tutorials<\/title>\n<meta name=\"description\" content=\"AWS data access and retrieval patterns helps in grasping concpets and techniques wiht this tutorial, notes, dumps also free AWS practice tests\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.testpreptraining.ai\/tutorial\/aws-certified-big-data-specialty\/determine-data-access-and-retrieval-patterns\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Determine AWS Data Access and Retrieval Patterns - Testprep Training Tutorials\" \/>\n<meta property=\"og:description\" content=\"AWS data access and retrieval patterns helps in grasping concpets and techniques wiht this tutorial, notes, dumps also free AWS practice tests\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.testpreptraining.ai\/tutorial\/aws-certified-big-data-specialty\/determine-data-access-and-retrieval-patterns\/\" \/>\n<meta property=\"og:site_name\" content=\"Testprep Training Tutorials\" \/>\n<meta property=\"article:modified_time\" content=\"2022-03-03T06:56:54+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.testpreptraining.ai\/tutorial\/wp-content\/uploads\/2019\/07\/determine-data-access-and-retrieval-patterns-01.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"29 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.testpreptraining.ai\/tutorial\/aws-certified-big-data-specialty\/determine-data-access-and-retrieval-patterns\/\",\"url\":\"https:\/\/www.testpreptraining.ai\/tutorial\/aws-certified-big-data-specialty\/determine-data-access-and-retrieval-patterns\/\",\"name\":\"Determine AWS Data Access and Retrieval Patterns - Testprep Training Tutorials\",\"isPartOf\":{\"@id\":\"https:\/\/www.testpreptraining.ai\/tutorial\/#website\"},\"datePublished\":\"2019-07-09T10:58:00+00:00\",\"dateModified\":\"2022-03-03T06:56:54+00:00\",\"description\":\"AWS data access and retrieval patterns helps in grasping concpets and techniques wiht this tutorial, notes, dumps also free AWS practice tests\",\"breadcrumb\":{\"@id\":\"https:\/\/www.testpreptraining.ai\/tutorial\/aws-certified-big-data-specialty\/determine-data-access-and-retrieval-patterns\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.testpreptraining.ai\/tutorial\/aws-certified-big-data-specialty\/determine-data-access-and-retrieval-patterns\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.testpreptraining.ai\/tutorial\/aws-certified-big-data-specialty\/determine-data-access-and-retrieval-patterns\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.testpreptraining.ai\/tutorial\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"AWS Certified Big Data Specialty\",\"item\":\"https:\/\/www.testpreptraining.ai\/tutorial\/aws-certified-big-data-specialty\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Determine AWS Data Access and Retrieval Patterns\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.testpreptraining.ai\/tutorial\/#website\",\"url\":\"https:\/\/www.testpreptraining.ai\/tutorial\/\",\"name\":\"Testprep Training Tutorials\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.testpreptraining.ai\/tutorial\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.testpreptraining.ai\/tutorial\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.testpreptraining.ai\/tutorial\/#organization\",\"name\":\"Testprep Training\",\"url\":\"https:\/\/www.testpreptraining.ai\/tutorial\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.testpreptraining.ai\/tutorial\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.testpreptraining.com\/tutorial\/wp-content\/uploads\/2020\/07\/tpt-logo-6.png\",\"contentUrl\":\"https:\/\/www.testpreptraining.com\/tutorial\/wp-content\/uploads\/2020\/07\/tpt-logo-6.png\",\"width\":583,\"height\":153,\"caption\":\"Testprep Training\"},\"image\":{\"@id\":\"https:\/\/www.testpreptraining.ai\/tutorial\/#\/schema\/logo\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Determine AWS Data Access and Retrieval Patterns - Testprep Training Tutorials","description":"AWS data access and retrieval patterns helps in grasping concpets and techniques wiht this tutorial, notes, dumps also free AWS practice tests","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.testpreptraining.ai\/tutorial\/aws-certified-big-data-specialty\/determine-data-access-and-retrieval-patterns\/","og_locale":"en_US","og_type":"article","og_title":"Determine AWS Data Access and Retrieval Patterns - Testprep Training Tutorials","og_description":"AWS data access and retrieval patterns helps in grasping concpets and techniques wiht this tutorial, notes, dumps also free AWS practice tests","og_url":"https:\/\/www.testpreptraining.ai\/tutorial\/aws-certified-big-data-specialty\/determine-data-access-and-retrieval-patterns\/","og_site_name":"Testprep Training Tutorials","article_modified_time":"2022-03-03T06:56:54+00:00","og_image":[{"url":"https:\/\/www.testpreptraining.ai\/tutorial\/wp-content\/uploads\/2019\/07\/determine-data-access-and-retrieval-patterns-01.png"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"29 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.testpreptraining.ai\/tutorial\/aws-certified-big-data-specialty\/determine-data-access-and-retrieval-patterns\/","url":"https:\/\/www.testpreptraining.ai\/tutorial\/aws-certified-big-data-specialty\/determine-data-access-and-retrieval-patterns\/","name":"Determine AWS Data Access and Retrieval Patterns - Testprep Training Tutorials","isPartOf":{"@id":"https:\/\/www.testpreptraining.ai\/tutorial\/#website"},"datePublished":"2019-07-09T10:58:00+00:00","dateModified":"2022-03-03T06:56:54+00:00","description":"AWS data access and retrieval patterns helps in grasping concpets and techniques wiht this tutorial, notes, dumps also free AWS practice tests","breadcrumb":{"@id":"https:\/\/www.testpreptraining.ai\/tutorial\/aws-certified-big-data-specialty\/determine-data-access-and-retrieval-patterns\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.testpreptraining.ai\/tutorial\/aws-certified-big-data-specialty\/determine-data-access-and-retrieval-patterns\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.testpreptraining.ai\/tutorial\/aws-certified-big-data-specialty\/determine-data-access-and-retrieval-patterns\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.testpreptraining.ai\/tutorial\/"},{"@type":"ListItem","position":2,"name":"AWS Certified Big Data Specialty","item":"https:\/\/www.testpreptraining.ai\/tutorial\/aws-certified-big-data-specialty\/"},{"@type":"ListItem","position":3,"name":"Determine AWS Data Access and Retrieval Patterns"}]},{"@type":"WebSite","@id":"https:\/\/www.testpreptraining.ai\/tutorial\/#website","url":"https:\/\/www.testpreptraining.ai\/tutorial\/","name":"Testprep Training Tutorials","description":"","publisher":{"@id":"https:\/\/www.testpreptraining.ai\/tutorial\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.testpreptraining.ai\/tutorial\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.testpreptraining.ai\/tutorial\/#organization","name":"Testprep Training","url":"https:\/\/www.testpreptraining.ai\/tutorial\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.testpreptraining.ai\/tutorial\/#\/schema\/logo\/image\/","url":"https:\/\/www.testpreptraining.com\/tutorial\/wp-content\/uploads\/2020\/07\/tpt-logo-6.png","contentUrl":"https:\/\/www.testpreptraining.com\/tutorial\/wp-content\/uploads\/2020\/07\/tpt-logo-6.png","width":583,"height":153,"caption":"Testprep Training"},"image":{"@id":"https:\/\/www.testpreptraining.ai\/tutorial\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/www.testpreptraining.ai\/tutorial\/wp-json\/wp\/v2\/pages\/1081","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.testpreptraining.ai\/tutorial\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.testpreptraining.ai\/tutorial\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.testpreptraining.ai\/tutorial\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.testpreptraining.ai\/tutorial\/wp-json\/wp\/v2\/comments?post=1081"}],"version-history":[{"count":14,"href":"https:\/\/www.testpreptraining.ai\/tutorial\/wp-json\/wp\/v2\/pages\/1081\/revisions"}],"predecessor-version":[{"id":51832,"href":"https:\/\/www.testpreptraining.ai\/tutorial\/wp-json\/wp\/v2\/pages\/1081\/revisions\/51832"}],"up":[{"embeddable":true,"href":"https:\/\/www.testpreptraining.ai\/tutorial\/wp-json\/wp\/v2\/pages\/1031"}],"wp:attachment":[{"href":"https:\/\/www.testpreptraining.ai\/tutorial\/wp-json\/wp\/v2\/media?parent=1081"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.testpreptraining.ai\/tutorial\/wp-json\/wp\/v2\/categories?post=1081"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.testpreptraining.ai\/tutorial\/wp-json\/wp\/v2\/tags?post=1081"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}