ICTPRG554
Manage data persistence using noSQL data stores


Application

This unit describes the skills and knowledge required to implement a data store and manage data persistence using non structured query language (NoSQL) to provide automatic scaling as well as high performance and availability over semi-structured data.

The unit applies to those working as senior software developers, senior back end developers or full stack developers, and responsible for managing information and communications technology (ICT) in small-to-large enterprises (SMEs).

No licensing, legislative or certification requirements apply to this unit at the time of publication.


Elements and Performance Criteria

ELEMENT

PERFORMANCE CRITERIA

Elements describe the essential outcomes.

Performance criteria describe the performance needed to demonstrate achievement of the element.

1. Review and select noSQL options

1.1 Confirm use and application for noSQL according to business requirements and needs

1.2 Research and compare horizontal and vertical scaling and confirm relevance and benefit of horizontal scaling according to business requirements

1.3 Research and compare noSQL technologies and traditional relational data models

1.4 Research, review and select noSQL vendor technologies according to business requirements

2. Determine and create storage of data types

2.1 Design and determine data storage requirements from noSQL data store according to selected vendor technology and business requirements

2.2 Review and select required types of noSQL data store according to business requirements

2.3 Create partition key and determine storage place of data items

2.4 Review and determine required partition key and ensure effective distribution of storage across partition

3. Build and configure indexes

3.1 Determine and select required sort key according to business requirements

3.2 Calculate, determine and configure read and write through-puts according to business requirements

3.3 Determine, configure and create indexes for optimising data retrieval queries

3.4 Determine and create additional indexes

3.5 Optimise data queries and retrievals for indexes according to business requirements

3.6 Determine and configure time-to-live (TTL) on data objects according to business requirements

4. Use queries and retrieve objects

4.1 Research and select required API client for interacting with noSQL data store according to business requirements

4.2 Substantiate and connect API client to noSQL data store instance

4.3 Insert single data object into noSQL datastore using selected client application

4.4 Insert multiple items in single operation

4.5 Use query and select single object

4.6 Use query and retrieve multiple objects in batch

4.7 Perform query against index

4.8 Perform query to select required attributes and project results

5. Confirm interaction of objects

5.1 Delete single and multiple objects according to business requirements

5.2 Update single and multiple objects according to business requirements

5.3 Persist objects with different data types

5.4 Configure and confirm change event triggers and notifications according to business needs

5.5 Test, fix and ensure responses and trigger notifications work according to business requirements

5.6 Review and confirm data is encrypted and authorisation and authentications are active according to user and client access requirements

5.7 Test and fix data persistence process according to business requirements

5.8 Document and finalise work according to business requirements

Evidence of Performance

The candidate must demonstrate the ability to complete the tasks outlined in the elements, performance criteria and foundation skills of this unit, including evidence of the ability to:

create at least three different queries, including updating, deleting and creating data types

create at least two indexes.

In the course of the above, the candidate must:

specify partition and sort keys

optimise the data.


Evidence of Knowledge

The candidate must be able to demonstrate knowledge to complete the tasks outlined in the elements, performance criteria and foundation skills of this unit, including knowledge of:

benefits and functions of noSQL database and schema free data persistence, as well as traditional relational data models

methods and different features and functions between scaling out and scaling up (horizontal and vertical)

language used in required programming language for noSQL applications

partitioning in a noSQL environment and its related terms

functions and features for time-to-live (TTL) requirements

authorisation and authentications procedures and levels of responsibility according to client access requirements

distribution of data storage across partitions

debugging and testing methodologies and techniques

functions and features of sort keys in noSQL storage

features of transport encryptions, authentication and authorisation

different noSQL data store formats, including:

key value

document based

column based

graph based

different noSQL data types, including:

numeric

string

boolean

complex

date time.


Assessment Conditions

Skills in this unit must be demonstrated in a workplace or simulated environment where the conditions are typical of those in a working environment in this industry.

This includes access to:

an open source or commercial NOSQL database

the internet, including connectivity

required hardware, software and applications.

Assessors of this unit must satisfy the requirements for assessors in applicable vocational education and training legislation, frameworks and/or standards.


Foundation Skills

This section describes those language, literacy, numeracy and employment skills that are essential to performance but not explicit in the performance criteria.

SKILL

DESCRIPTION

Reading

Critically analyses documentation, instructions and data from a variety of sources and records, and consolidates information in order to determine requirements and steps forwards

Identifies and interprets technical material to determine and confirm job, business and systems requirements

Writing

Demonstrates sophisticated writing skills using specialised language, technical language and scripts and required conventions to document work

Planning and organising

Researches, plans and sequences complex tasks, efficiently and effectively

Problem solving

Applies systematic and analytical decision- making processes for complex and non-routine situations and bug code

Uses nuanced understanding of context to recognise anomalies and subtle deviations to normal expectations, focusing attention and remedying problems as they arise

Self-management

Monitors progress of plans and schedules, and reviews and changes them, to meet new demands and priorities

Investigates new and innovative ideas, as a means by which to continuously improve, work practices and processes through consultation, formal and analytical thinking

Technology

Uses complex scripts and tools required within complex systems, applications, operation systems, the internet and required software and hardware components

Uses cyber security procedures and techniques to maintain data security, and systems and application integrity


Sectors

Programming