1.
Programming
Time & Space Complexity
HyperLogLog Algorithm
Vectorization using Python
SQL Window Functions
Binary Search Tree Traversal
OOPs Concepts in nutshell
Python : *args vs **kwargs
Python List vs Tuple vs Dictionary
Spark Structured Streaming
Basic code : Spark streaming
Spark Memory and Optimizer
Basic definition of Spark
2.
System Design
OSI Model Layer
Datawarehouse Schema
Slowly Changing Dimension
Database Keys
ACID in Database
CAP Theorem in Nutshell
REST vs GRPC
HTTP Long Polling
Database Sharding
About Kafka
Synchronous and Asynchronous process
Event Driven model
All about Eventual and Strongly Consistency
Demystify Lambda and Kappa Architecture
Vertical vs Horizontal Scaling
What is Caching and its importance
About Zookeeper
Load Balancer
Demystifying HTTP and HTTPS
Authentication vs Authorization
Types of Authentication
About REST and SOAP
Session & Token flow
3.
Product Architecture
Tips on Scaling System
Design Cloud Storage App
Design Photo Sharing App
Design Chat Messenger App
Design a API Rate limiter
Design Video Sharing App
4.
AI ML Engineering
Activation function
Bagging & Boosting
Confusion Matrix
Feature Engineering
AWS : Athena + Sagemaker
Word2Vec Algorithm
Trees in ML World
5.
Cloud Computing
AWS Well Architected Framework
AWS Basic Terminologies
AWS : Search using Kendra
AWS : Redshift + S3
AWS : REST API + Athena (Gateway & Lambda)
AWS : Lambda + API gateway
AWS : Lambda + Athena and S3
AWS : PySpark on EMR Cluster
AWS : S3 + Glue and Athena
Brief on AWS IAM
AWS : ElasticSearch Service
Brief Intro AWS Kinesis
AWS : Setup Cloud Budgets
AWS Monitoring Services
AWS : Refresh CloudFront caches
Comparison AWS technologies
More
Personal Projects
Publications
Linkedin
GitHub
About the Blog
>
Cloud Computing
> AWS : Search using Kendra
About Kendra
Simple Steps to setup Kendra
1. Specify the index details
2. Data Source available in Kendra
3. Select S3 as Data Source
4. Attach policies to IAM role.
5. Configure settings of S3 and set frequency of data refresh
6. Review the details
7. Press “Sync Now” document indexing (On-demand)
8. Tune the fields
9. Search interface in Kendra
Pros and Cons
aws
cloud
search
kendra
discover
AWS : Search using Kendra
About Kendra
Build for Enterprise search
Natural language search capability
Data Sources : S3 , Sharepoint , RDS , Salesforce , ServiceNow, OneDrive
More Use cases and Benefits are discussed
here
Simple Steps to setup Kendra
1. Specify the index details
2. Data Source available in Kendra
3. Select S3 as Data Source
4. Attach policies to IAM role.
For Production , never put “Power Access” - always specify specific role.
5. Configure settings of S3 and set frequency of data refresh
6. Review the details
7. Press “Sync Now” document indexing (On-demand)
8. Tune the fields
9. Search interface in Kendra
Note : The steps mentioned above is for POC. In Production or any organization , CloudFormation template would be utilized.
Pros and Cons
Pros :
Search platform / API can be created within 30 min
No prior knowledge on search or relevance tuning is required
Logs are automatically created / maintained in CloudWatch – centralized place for all AWS services
Cons:
For developers , seems lack of flexibility for custom functionality as compared to Solr or ElasticSearch
Indexing of data took comparatively more time than regular Solr indexing
As compared to Solr/ElasticSearch , less public forums
Platform dependency - Native to only AWS unlike Solr or ElasticSearch