<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Shreyash Singh</title>
    <description>The latest articles on Forem by Shreyash Singh (@shreyash333).</description>
    <link>https://forem.com/shreyash333</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F296607%2F7e35ff1f-ec4f-48be-98f9-ecec7c26e586.png</url>
      <title>Forem: Shreyash Singh</title>
      <link>https://forem.com/shreyash333</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/shreyash333"/>
    <language>en</language>
    <item>
      <title>Building a Scalable Data Architecture with Apache Tools: A Free and Open-Source Solution</title>
      <dc:creator>Shreyash Singh</dc:creator>
      <pubDate>Sun, 13 Apr 2025 20:26:26 +0000</pubDate>
      <link>https://forem.com/shreyash333/building-a-scalable-data-architecture-with-apache-tools-a-free-and-open-source-solution-34hm</link>
      <guid>https://forem.com/shreyash333/building-a-scalable-data-architecture-with-apache-tools-a-free-and-open-source-solution-34hm</guid>
      <description>&lt;p&gt;In today's data-driven world, organizations need a robust and scalable data architecture to handle large volumes of data. Apache offers a suite of free and open-source tools that can help build a comprehensive data architecture. In this article, we'll explore how to build a scalable data architecture using Apache tools, highlighting the benefits of using free and open-source software.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Technology&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Here's a brief overview of the technologies used in this architecture:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Apache NiFi:&lt;/strong&gt; A data integration tool that ingests data from various sources and writes it to destinations like HDFS and Kafka. NiFi provides a scalable and flexible way to manage data flows.&lt;br&gt;
&lt;strong&gt;2. Apache Kafka:&lt;/strong&gt; A distributed streaming platform that handles high-throughput and provides low-latency, fault-tolerant, and scalable data processing. Kafka is ideal for real-time data processing and event-driven architectures.&lt;br&gt;
&lt;strong&gt;3. Apache Flink:&lt;/strong&gt; A unified analytics and event-driven processing engine that provides real-time processing capabilities. Flink is designed for high-performance and scalability.&lt;br&gt;
&lt;strong&gt;4. Apache HDFS:&lt;/strong&gt; A distributed file system that provides a scalable and reliable way to store large amounts of data. HDFS is designed for big data storage and processing.&lt;br&gt;
&lt;strong&gt;5. Apache Spark:&lt;/strong&gt; A unified analytics engine that provides high-level APIs in Java, Python, and Scala for large-scale data processing. Spark is ideal for batch processing and machine learning.&lt;br&gt;
&lt;strong&gt;6. Apache Iceberg:&lt;/strong&gt; A table format that provides a scalable and efficient way to manage large datasets. Iceberg supports ACID transactions and is designed for big data analytics.&lt;br&gt;
&lt;strong&gt;7. Apache Atlas:&lt;/strong&gt; A data governance and metadata management platform that provides a centralized repository for storing and managing metadata. Atlas enables data governance, data discovery, and data lineage.&lt;br&gt;
&lt;strong&gt;8. Apache Airflow:&lt;/strong&gt; A workflow management platform that schedules and manages workflows. Airflow provides a flexible way to manage dependencies and monitor workflows.&lt;br&gt;
&lt;strong&gt;9. Apache Superset:&lt;/strong&gt; A business intelligence web application that provides data visualization capabilities. Superset supports a variety of data sources and provides an intuitive interface for users.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Architecture&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flmo2htavz8duuaal08r4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flmo2htavz8duuaal08r4.png" alt="Image description" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Our data architecture will consist of the following components:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Data Ingestion:&lt;/strong&gt; Apache NiFi will be used to ingest data from various sources, such as logs, APIs, and databases.&lt;br&gt;
&lt;strong&gt;2. Real-time Processing:&lt;/strong&gt; Apache Kafka will stream data to Apache Flink for real-time processing.&lt;br&gt;
&lt;strong&gt;3. Batch Processing:&lt;/strong&gt; Apache Spark will be used for batch processing of large datasets.&lt;br&gt;
&lt;strong&gt;4. Data Storage:&lt;/strong&gt; Apache Iceberg will be used to store processed data in a scalable and efficient table format.&lt;br&gt;
&lt;strong&gt;5. Data Governance:&lt;/strong&gt; Apache Atlas will be used to manage metadata, provide data governance, and enable data discovery and lineage.&lt;br&gt;
&lt;strong&gt;6. Data Querying:&lt;/strong&gt; Apache Spark and Apache Superset will be used to query data stored in Apache Iceberg.&lt;br&gt;
&lt;strong&gt;7. Workflow Management:&lt;/strong&gt; Apache Airflow will be used to schedule and manage workflows.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;How it Works&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Here's an overview of how the architecture works:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Data is ingested into Apache NiFi from various sources.&lt;/li&gt;
&lt;li&gt;NiFi writes data to Apache Kafka for real-time processing and Apache HDFS for batch processing.&lt;/li&gt;
&lt;li&gt;Apache Kafka streams data to Apache Flink for real-time processing.&lt;/li&gt;
&lt;li&gt;Flink processes data in real-time and writes processed data to Apache Iceberg.&lt;/li&gt;
&lt;li&gt;Apache Spark reads data from Apache HDFS, applies transformations and aggregations, and writes processed data to Apache Iceberg.&lt;/li&gt;
&lt;li&gt;Apache Atlas manages metadata and provides data governance, data discovery, and data lineage capabilities.&lt;/li&gt;
&lt;li&gt;Apache Spark and Apache Superset query data stored in Apache Iceberg.&lt;/li&gt;
&lt;li&gt;Apache Airflow schedules and manages workflows, ensuring that data is processed and queried efficiently.&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Benefits&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;The benefits of this architecture include:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Scalability:&lt;/strong&gt; The architecture is designed to handle large volumes of data and scale horizontally.&lt;br&gt;
&lt;strong&gt;2. Real-time Processing:&lt;/strong&gt; Apache Kafka and Apache Flink enable real-time processing and analysis of data.&lt;br&gt;
&lt;strong&gt;3. Batch Processing:&lt;/strong&gt; Apache Spark enables batch processing of large datasets.&lt;br&gt;
&lt;strong&gt;4. Data Visualization:&lt;/strong&gt; Apache Superset provides data visualization capabilities, enabling users to gain insights into their data.&lt;br&gt;
&lt;strong&gt;5. Free and Open-Source:&lt;/strong&gt; All the tools used in this architecture are free and open-source, reducing costs and increasing flexibility.&lt;br&gt;
&lt;strong&gt;6. Data Governance:&lt;/strong&gt; Apache Atlas provides data governance, data discovery, and data lineage capabilities.&lt;/p&gt;




&lt;p&gt;Apache offers a suite of powerful tools that can be used to build a scalable and efficient data architecture. By leveraging Apache NiFi, Apache Kafka, Apache Flink, Apache Spark, Apache Iceberg, Apache Airflow, and Apache Superset, organizations can build a comprehensive data architecture that supports both real-time and batch processing, as well as data querying and visualization. And the best part? All these tools are free and open-source, making it an attractive solution for organizations looking to reduce costs and increase flexibility.&lt;/p&gt;

&lt;p&gt;Soon I will be starting a project on this architecture. &lt;/p&gt;

</description>
      <category>dataengineering</category>
      <category>architecture</category>
      <category>etl</category>
      <category>datascience</category>
    </item>
    <item>
      <title>Building a Self-Optimizing Data Pipeline</title>
      <dc:creator>Shreyash Singh</dc:creator>
      <pubDate>Tue, 01 Apr 2025 21:56:47 +0000</pubDate>
      <link>https://forem.com/shreyash333/building-a-self-optimizing-data-pipeline-59da</link>
      <guid>https://forem.com/shreyash333/building-a-self-optimizing-data-pipeline-59da</guid>
      <description>&lt;p&gt;As a data engineer, have you ever dreamed of building a data pipeline that autonomously adjusts its performance and reliability in real-time? Sounds like science fiction, right? Well, it's not! In this article, we'll explore the concept of self-optimizing data pipelines.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;What is a Self-Optimizing Data Pipeline?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;em&gt;A self-optimizing data pipeline is an automated system that dynamically adjusts its performance and reliability in real-time based on incoming data volume, system load, and other factors. It's like having a super-smart, self-driving car that navigates through the data landscape with ease!&lt;/em&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Concept Overview&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;A self-optimizing data pipeline automates the following:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Performance Optimization:&lt;/strong&gt; Dynamically adjusts parameters like partition sizes, parallelism, and resource allocation based on incoming data volume and system load.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Error Handling:&lt;/strong&gt; Detects and resolves pipeline failures without manual intervention (e.g., retrying failed tasks, rerouting data).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Monitoring and Feedback:&lt;/strong&gt; Continuously monitors system performance and learns from past runs to improve future executions.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Adaptability:&lt;/strong&gt; Adapts to varying data types, sources, and loads.&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Self-Optimization in ETL Process&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;1. Data Ingestion&lt;/strong&gt;&lt;br&gt;
    &lt;em&gt;&lt;strong&gt;• Goal:&lt;/strong&gt; Ingest data from multiple sources in real time.&lt;br&gt;
    &lt;strong&gt;• Implementation:&lt;/strong&gt;&lt;br&gt;
        ◦ Use Apache Kafka or AWS Kinesis for real-time streaming.&lt;br&gt;
        ◦ Ingest batch data using tools like Apache NiFi or custom Python scripts.&lt;br&gt;
    &lt;strong&gt;• Self-Optimization:&lt;/strong&gt;&lt;br&gt;
        ◦ Dynamically scale consumers to handle varying data volumes.&lt;br&gt;
        ◦ Monitor lag in Kafka partitions and scale producers or consumers to maintain low latency.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Data Transformation&lt;/strong&gt;&lt;br&gt;
    &lt;em&gt;&lt;strong&gt;• Goal:&lt;/strong&gt; Process and transform data into a usable format.&lt;br&gt;
    &lt;strong&gt;• Implementation:&lt;/strong&gt;&lt;br&gt;
        ◦ Use Apache Spark for batch processing or Apache Flink for stream processing.&lt;br&gt;
        ◦ Implement transformations like filtering, joining, aggregating, and deduplication.&lt;br&gt;
    &lt;strong&gt;• Self-Optimization:&lt;/strong&gt;&lt;br&gt;
        ◦ Partitioning: Automatically adjust partition sizes based on input data volume.&lt;br&gt;
        ◦ Resource Allocation: Dynamically allocate Spark executors, memory, and cores using workload metrics.&lt;br&gt;
        ◦ Adaptive Query Execution (AQE): Leverage Spark AQE to optimize joins, shuffles, and partition sizes at runtime.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Data Storage&lt;/strong&gt;&lt;br&gt;
   &lt;em&gt;&lt;strong&gt;• Goal:&lt;/strong&gt; Store transformed data for analysis.&lt;br&gt;
    &lt;strong&gt;• Implementation:&lt;/strong&gt;&lt;br&gt;
        ◦ Write data to a data lake (e.g., S3, HDFS) or data warehouse (e.g., Snowflake, Redshift).&lt;br&gt;
    &lt;strong&gt;• Self-Optimization:&lt;/strong&gt;&lt;br&gt;
        ◦ Use lifecycle policies to move old data to cheaper storage tiers.&lt;br&gt;
        ◦ Optimize file formats (e.g., convert to Parquet/ORC for compression and query efficiency).&lt;br&gt;
        ◦ Dynamically adjust compaction jobs to reduce small file issues.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Monitoring and Feedback&lt;/strong&gt;&lt;br&gt;
    &lt;em&gt;&lt;strong&gt;• Goal:&lt;/strong&gt; Track pipeline performance and detect inefficiencies.&lt;br&gt;
    &lt;strong&gt;• Implementation:&lt;/strong&gt;&lt;br&gt;
        ◦ Use Prometheus and Grafana for real-time monitoring.&lt;br&gt;
        ◦ Log key metrics like latency, throughput, and error rates.&lt;br&gt;
    &lt;strong&gt;• Self-Optimization:&lt;/strong&gt;&lt;br&gt;
        ◦ Implement an anomaly detection system to identify bottlenecks.&lt;br&gt;
        ◦ Use feedback from historical runs to adjust configurations automatically (e.g., retry logic, timeout settings).&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Error Handling&lt;/strong&gt;&lt;br&gt;
    &lt;em&gt;&lt;strong&gt;• Goal:&lt;/strong&gt; Automatically detect and recover from pipeline failures.&lt;br&gt;
    &lt;strong&gt;• Implementation:&lt;/strong&gt;&lt;br&gt;
        ◦ Build retries for transient errors and alerts for critical failures.&lt;br&gt;
        ◦ Use Apache Airflow or Prefect for workflow orchestration and fault recovery.&lt;br&gt;
    &lt;strong&gt;• Self-Optimization:&lt;/strong&gt;&lt;br&gt;
        ◦ Classify errors into recoverable and unrecoverable categories.&lt;br&gt;
        ◦ Automate retries with exponential backoff and adaptive retry limits.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6. User Dashboard&lt;/strong&gt;&lt;br&gt;
    &lt;em&gt;&lt;strong&gt;• Goal:&lt;/strong&gt; Provide real-time insights into pipeline performance and optimizations.&lt;br&gt;
    &lt;strong&gt;• Implementation:&lt;/strong&gt;&lt;br&gt;
        ◦ Use Streamlit, Dash, or Tableau Public to create an interactive dashboard.&lt;br&gt;
    &lt;strong&gt;• Self-Optimization:&lt;/strong&gt;&lt;br&gt;
        ◦ Allow users to adjust pipeline parameters directly from the dashboard.&lt;/em&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Tech Stack&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;1. Ingestion:&lt;/strong&gt; Kafka, Kinesis, or Apache NiFi.&lt;br&gt;
&lt;strong&gt;2. Processing:&lt;/strong&gt; Apache Spark (for batch), Apache Flink (for streaming), Python (Pandas) for small-scale transformations.&lt;br&gt;
&lt;strong&gt;3. Storage:&lt;/strong&gt; AWS S3, Snowflake, or HDFS.&lt;br&gt;
&lt;strong&gt;4. Monitoring:&lt;/strong&gt; Prometheus, Grafana, or CloudWatch.&lt;br&gt;
&lt;strong&gt;5. Workflow Orchestration:&lt;/strong&gt; Apache Airflow, Prefect.&lt;br&gt;
&lt;strong&gt;6. Visualization:&lt;/strong&gt; Streamlit, Dash, or Tableau Public.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Example Self-Optimization Scenarios&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;1. Scaling Spark Executors:&lt;/strong&gt;&lt;br&gt;
        ◦ Scenario: A spike in data volume causes jobs to run slowly.&lt;br&gt;
        ◦ Action: Automatically increase executor cores and memory.&lt;br&gt;
&lt;strong&gt;2. Handling Data Skew:&lt;/strong&gt;&lt;br&gt;
        ◦ Scenario: Some partitions have significantly more data than others.&lt;br&gt;
        ◦ Action: Dynamically repartition data to balance load.&lt;br&gt;
&lt;strong&gt;3. Retrying Failed Jobs:&lt;/strong&gt;&lt;br&gt;
        ◦ Scenario: A task fails due to transient network issues.&lt;br&gt;
        ◦ Action: Retry with exponential backoff without manual intervention.&lt;/p&gt;

</description>
      <category>dataengineering</category>
      <category>datapipeline</category>
      <category>etl</category>
      <category>selfoptimizing</category>
    </item>
    <item>
      <title>Read, Like &amp; Share</title>
      <dc:creator>Shreyash Singh</dc:creator>
      <pubDate>Fri, 20 Dec 2024 18:57:27 +0000</pubDate>
      <link>https://forem.com/shreyash333/-5f75</link>
      <guid>https://forem.com/shreyash333/-5f75</guid>
      <description>&lt;div class="ltag__link"&gt;
  &lt;a href="/shreyash333" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&gt;
      &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F296607%2F7e35ff1f-ec4f-48be-98f9-ecec7c26e586.png" alt="shreyash333"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="/shreyash333/data-warehousing-architectures-53ej" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;Data Warehousing Architectures&lt;/h2&gt;
      &lt;h3&gt;Shreyash Singh ・ Dec 20&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#datascience&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#dataengineering&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#architecture&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#database&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;


</description>
      <category>datascience</category>
      <category>architecture</category>
      <category>dataengineering</category>
    </item>
    <item>
      <title>Data Warehousing Architectures</title>
      <dc:creator>Shreyash Singh</dc:creator>
      <pubDate>Fri, 20 Dec 2024 18:52:50 +0000</pubDate>
      <link>https://forem.com/shreyash333/data-warehousing-architectures-53ej</link>
      <guid>https://forem.com/shreyash333/data-warehousing-architectures-53ej</guid>
      <description>&lt;p&gt;Data warehousing architectures are essential frameworks that guide the organization, storage, and retrieval of data in a business environment. They play a crucial role in enabling businesses to make informed decisions by providing a structured way to manage large volumes of data. In this article, we will explore four prominent data warehousing architectures: Inmon Architecture, Kimball Architecture, Data Lake Architecture, and Lambda Architecture. &lt;/p&gt;

&lt;h2&gt;
  
  
  1. Inmon Architecture
&lt;/h2&gt;

&lt;p&gt;Inmon Architecture, also known as the Corporate Information Factory, is a top-down approach to data warehousing. It involves creating a centralized data warehouse that serves as the single source of truth for the organization. From this central repository, dependent data marts are created to serve specific business needs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Table Modeling&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
In Inmon Architecture, the centralized data warehouse is typically modeled using a normalized structure. The focus is on creating a well-organized, comprehensive data repository with minimized redundancy, which resembles an Entity-Relationship (ER) model in a 3NF (Third Normal Form) schema.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Core Tables (Entities):&lt;/strong&gt; These are highly normalized tables representing core business entities such as Customer, Product, and Order.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Reference Tables:&lt;/strong&gt; Contain static or slow-changing information, e.g., Product Categories.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Transaction Tables:&lt;/strong&gt; Store operational transaction details, maintaining integrity and consistency across the data warehouse.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Data Marts&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Once the main data warehouse is built, dependent data marts are created. These marts might adopt a denormalized structure for better query performance specific to business functions like marketing or sales.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Data Flow Explanation&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Data is extracted from various operational systems and transformed into a consistent format before being loaded into the centralized data warehouse. From there, data marts are created to cater to specific departments or business functions, such as marketing or finance, by extracting relevant data from the central warehouse.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Advantages:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Provides a single, consistent view of the enterprise data.&lt;/li&gt;
&lt;li&gt;Ensures data integrity and reduces redundancy.&lt;/li&gt;
&lt;li&gt;Scalable and can handle large volumes of data.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Disadvantages:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Can be complex and time-consuming to implement.&lt;/li&gt;
&lt;li&gt;Requires significant upfront investment and planning.&lt;/li&gt;
&lt;li&gt;Changes in business requirements can be challenging to accommodate.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Companies Using Inmon Architecture&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Large enterprises with complex data needs, such as banks and insurance companies, often use Inmon Architecture. Examples include Citibank and American Express.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Kimball Architecture
&lt;/h2&gt;

&lt;p&gt;Kimball Architecture, also known as the Data Mart Bus Architecture, is a bottom-up approach. It focuses on creating independent data marts for specific business processes, which are later integrated into a comprehensive data warehouse.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Table Modeling&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Kimball Architecture employs dimensional modeling, commonly utilizing Star Schema or Snowflake Schema designs.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Fact Tables:&lt;/strong&gt; Central to the schema, these tables hold quantitative data for analysis and contain measurements like sales revenue or quantity.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Dimension Tables:&lt;/strong&gt; These are denormalized tables that provide context to the facts, such as Time, Geography, Product, Customer, etc.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Each data mart is designed to address specific analytical needs and is connected through common dimensions if needed.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Data Flow Explanation&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Data is extracted from operational systems and directly loaded into data marts after transformation. These data marts are designed to meet the needs of specific business processes. Over time, these marts are integrated to form a cohesive data warehouse.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Advantages:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Faster implementation as data marts can be developed independently.&lt;/li&gt;
&lt;li&gt;Flexibility to adapt to changing business needs.&lt;/li&gt;
&lt;li&gt;Easier to manage and maintain.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Disadvantages:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Potential for data inconsistency across different data marts.&lt;/li&gt;
&lt;li&gt;Integration of data marts can be complex.&lt;/li&gt;
&lt;li&gt;May lead to data redundancy.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Companies Using Kimball Architecture&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Organizations that require quick deployment and flexibility, such as retail and e-commerce companies, often use Kimball Architecture. Examples include Amazon and Walmart.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Data Lake Architecture
&lt;/h2&gt;

&lt;p&gt;Data Lake Architecture is a modern approach that involves storing raw, unprocessed data in a centralized repository. It allows organizations to store structured, semi-structured, and unstructured data in its native format.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Table Modeling&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
In a Data Lake Architecture, traditional table structures may not be explicitly used. Instead, data is stored in its raw format using a variety of storage formats, e.g., JSON, CSV, Avro, or even Parquet files if some structuring is needed.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Raw Data Storage:&lt;/strong&gt; Data is stored as-is from sources without any transformation.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Curated Zones:&lt;/strong&gt; Sometimes, after initial usage in raw zones, data is processed and moved into a curated zone for more structured querying and reporting.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Advanced indexing or metadata tagging is often used to make sense of the enormous variety of data types and formats within a data lake.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Data Flow Explanation&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Data is ingested from various sources and stored in the data lake without transformation. When needed, data is processed and analyzed using various tools and frameworks, allowing for flexible and on-demand data processing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Advantages:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Highly scalable and cost-effective for storing large volumes of data.&lt;/li&gt;
&lt;li&gt;Supports a wide variety of data types and formats.&lt;/li&gt;
&lt;li&gt;Facilitates advanced analytics and machine learning.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Disadvantages:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Can become a "data swamp" if not managed properly.&lt;/li&gt;
&lt;li&gt;Requires sophisticated tools and skills for data processing.&lt;/li&gt;
&lt;li&gt;Data governance and security can be challenging.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Companies Using Data Lake Architecture&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Tech giants and data-driven companies, such as Netflix and Facebook, leverage Data Lake Architecture to handle vast amounts of diverse data.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Lambda Architecture
&lt;/h2&gt;

&lt;p&gt;Lambda Architecture is designed to handle both batch and real-time data processing. It combines a batch layer for processing large volumes of historical data and a speed layer for real-time data processing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Table Modeling&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Lambda Architecture integrates different data modeling approaches for its batch and speed layers.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Batch Layer:&lt;/strong&gt; Often modeled similarly to Inmon’s centralized data warehouse, focusing on historical data storage using normalized tables.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Speed Layer:&lt;/strong&gt; Typically uses a less complex structure, perhaps even schema-less, to focus on storing streaming data in real-time. NoSQL databases are common here, allowing for flexible data modeling.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Serving Layer:&lt;/strong&gt; Where results from both batch and speed layers are accessed. This could resemble a traditional star schema or even a more flattened table structure for quick data access.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Each approach in Lambda focuses on optimizing for either latency (speed layer) or throughput and accuracy (batch layer).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Data Flow Explanation&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Data flows into two layers: the batch layer processes data in large volumes at scheduled intervals, while the speed layer processes data in real-time to provide immediate insights. The results from both layers are merged to provide a comprehensive view.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Advantages:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Provides both historical and real-time insights.&lt;/li&gt;
&lt;li&gt;Fault-tolerant and scalable.&lt;/li&gt;
&lt;li&gt;Supports complex analytics and machine learning.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Disadvantages:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Complex architecture with multiple layers to manage.&lt;/li&gt;
&lt;li&gt;Requires expertise in both batch and real-time processing.&lt;/li&gt;
&lt;li&gt;Higher operational costs due to dual processing layers.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Companies Using Lambda Architecture&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Organizations that require real-time analytics, such as LinkedIn and Twitter, use Lambda Architecture to process and analyze data efficiently.&lt;/p&gt;

&lt;p&gt;In conclusion, each data warehousing architecture has its unique strengths and challenges. The choice of architecture depends on the specific needs and goals of an organization, as well as its data processing requirements and resources.&lt;/p&gt;

</description>
      <category>datascience</category>
      <category>dataengineering</category>
      <category>architecture</category>
      <category>database</category>
    </item>
    <item>
      <title>Azure DevOps Services and Exploring Alternatives</title>
      <dc:creator>Shreyash Singh</dc:creator>
      <pubDate>Sun, 23 Jun 2024 08:46:16 +0000</pubDate>
      <link>https://forem.com/shreyash333/understanding-azure-devops-services-and-exploring-alternatives-1ln1</link>
      <guid>https://forem.com/shreyash333/understanding-azure-devops-services-and-exploring-alternatives-1ln1</guid>
      <description>&lt;p&gt;DevOps is a set of practices that combines software development (Dev) and IT operations (Ops) to streamline the software development lifecycle. Azure DevOps is a suite of services offered by Microsoft to support DevOps practices. In this article, we will explore the services offered in Azure DevOps, their alternatives, and their pros and cons.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Services in Azure DevOps:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Azure Boards:&lt;/strong&gt; A project management tool for tracking work items and projects.&lt;br&gt;
&lt;strong&gt;2. Azure Repos:&lt;/strong&gt; A version control system for managing code repositories.&lt;br&gt;
&lt;strong&gt;3. Azure Pipelines:&lt;/strong&gt; A continuous integration and delivery tool for automating build, test, and deployment processes.&lt;br&gt;
&lt;strong&gt;4. Azure Test Plans:&lt;/strong&gt; A testing tool for managing and executing tests.&lt;br&gt;
&lt;strong&gt;5. Azure Artifacts:&lt;/strong&gt; A package management tool for managing and sharing packages.&lt;br&gt;
&lt;strong&gt;6. GitHub Advanced Security for Azure DevOps:&lt;/strong&gt; A security tool for identifying vulnerabilities in code.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Azure DevOps Services Cost:&lt;/strong&gt; &lt;br&gt;
$30/user/month (basic plan) = $30/month&lt;br&gt;
Annual cost: $360&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pros:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Integrated platform for development, delivery, and collaboration&lt;/li&gt;
&lt;li&gt;Automated pipelines and continuous integration/continuous deployment (CI/CD)&lt;/li&gt;
&lt;li&gt;Advanced project management and tracking capabilities&lt;/li&gt;
&lt;li&gt;Scalable and secure&lt;/li&gt;
&lt;li&gt;Integrates with other Azure services&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Cons:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Steep learning curve&lt;/li&gt;
&lt;li&gt;Can be expensive for large teams or enterprises&lt;/li&gt;
&lt;li&gt;Limited customization options for some features&lt;/li&gt;
&lt;li&gt;Some users find the UI cluttered&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Best Overall:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Offers a comprehensive, integrated platform for development, delivery, and collaboration&lt;/li&gt;
&lt;li&gt;Scalable, secure, and flexible&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;strong&gt;Alternatives to Azure DevOps:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Set 1:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;- Jira&lt;/strong&gt; (Azure Boards alternative)&lt;br&gt;
&lt;strong&gt;- GitHub&lt;/strong&gt; (Azure Repos alternative)&lt;br&gt;
&lt;strong&gt;- Jenkins&lt;/strong&gt; (Azure Pipelines alternative)&lt;br&gt;
&lt;strong&gt;- TestRail&lt;/strong&gt; (Azure Test Plans alternative)&lt;br&gt;
&lt;strong&gt;- Artifactory&lt;/strong&gt; (Azure Artifacts alternative)&lt;br&gt;
&lt;strong&gt;- SonarQube&lt;/strong&gt; (GitHub Advanced Security for Azure DevOps alternative)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Price:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Jira: $7/user/month (standard plan) = $7/month&lt;/li&gt;
&lt;li&gt;GitHub: $21/user/month (team plan) = $21/month&lt;/li&gt;
&lt;li&gt;Jenkins: free (open-source) = $0/month&lt;/li&gt;
&lt;li&gt;TestRail: $25/user/month (premium plan) = $25/month&lt;/li&gt;
&lt;li&gt;Artifactory: $22/user/month (pro plan) = $22/month&lt;/li&gt;
&lt;li&gt;SonarQube: $15/month (individual plan)&lt;/li&gt;
&lt;li&gt;Annual cost: $420&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Pros:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Jira offers robust project management capabilities&lt;/li&gt;
&lt;li&gt;GitHub provides a popular version control system&lt;/li&gt;
&lt;li&gt;Jenkins offers flexible automation options&lt;/li&gt;
&lt;li&gt;TestRail provides comprehensive test management&lt;/li&gt;
&lt;li&gt;Artifactory offers advanced artifact management&lt;/li&gt;
&lt;li&gt;SonarQube provides detailed code analysis&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Cons:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Multiple tools require multiple subscriptions and integrations&lt;/li&gt;
&lt;li&gt;Can be costly for large teams or enterprises&lt;/li&gt;
&lt;li&gt;Steep learning curve for some tools&lt;/li&gt;
&lt;li&gt;Limited integration between tools&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Best for Large Enterprises:&lt;/strong&gt; &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Offers advanced features, scalability, and security&lt;/li&gt;
&lt;li&gt;Supports large teams and complex projects&lt;/li&gt;
&lt;li&gt;Set 1 offers a range of robust tools, but requires multiple subscriptions and integrations&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;strong&gt;Set 2:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;- Asana&lt;/strong&gt; (Azure Boards alternative)&lt;br&gt;
&lt;strong&gt;- Bitbucket&lt;/strong&gt; (Azure Repos alternative)&lt;br&gt;
&lt;strong&gt;- Travis CI&lt;/strong&gt; (Azure Pipelines alternative)&lt;br&gt;
&lt;strong&gt;- PractiTest&lt;/strong&gt; (Azure Test Plans alternative)&lt;br&gt;
&lt;strong&gt;- Google Container&lt;/strong&gt; Registry (Azure Artifacts alternative)&lt;br&gt;
&lt;strong&gt;- Veracode&lt;/strong&gt; (GitHub Advanced Security for Azure DevOps alternative)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Price:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Asana: $13.49/user/month (premium plan) = $13.49/month&lt;/li&gt;
&lt;li&gt;Bitbucket: $6/user/month (standard plan) = $6/month&lt;/li&gt;
&lt;li&gt;Travis CI: $6/month (pro plan)&lt;/li&gt;
&lt;li&gt;PractiTest: $29/user/month (pro plan) = $29/month&lt;/li&gt;
&lt;li&gt;Google Container Registry: $6/month (standard plan)&lt;/li&gt;
&lt;li&gt;Veracode: $10/month (pro plan)&lt;/li&gt;
&lt;li&gt;Annual cost: $343.88&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Pros:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Asana offers user-friendly project management&lt;/li&gt;
&lt;li&gt;Bitbucket provides a cloud-based version control system&lt;/li&gt;
&lt;li&gt;Travis CI offers easy automation options&lt;/li&gt;
&lt;li&gt;PractiTest provides comprehensive test management&lt;/li&gt;
&lt;li&gt;Google Container Registry offers secure artifact management&lt;/li&gt;
&lt;li&gt;Veracode provides advanced code analysis&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Cons:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Multiple tools require multiple subscriptions and integrations&lt;/li&gt;
&lt;li&gt;Can be costly for large teams or enterprises&lt;/li&gt;
&lt;li&gt;Limited customization options for some tools&lt;/li&gt;
&lt;li&gt;Some tools have limited features compared to Set 1&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;*&lt;em&gt;Best for Budget-Constrained Teams: *&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Offers a range of tools at a lower cost than Set 1&lt;/li&gt;
&lt;li&gt;Ideal for teams with limited budget but still need robust features&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;strong&gt;Set 3 (Free alternatives):&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;- Trello&lt;/strong&gt; (Azure Boards alternative)&lt;br&gt;
&lt;strong&gt;- GitLab&lt;/strong&gt; (Azure Repos alternative)&lt;br&gt;
&lt;strong&gt;- CircleCI&lt;/strong&gt; (Azure Pipelines alternative)&lt;br&gt;
&lt;strong&gt;- TestLink&lt;/strong&gt; (Azure Test Plans alternative)&lt;br&gt;
&lt;strong&gt;- Docker Hub&lt;/strong&gt; (Azure Artifacts alternative)&lt;br&gt;
&lt;strong&gt;- CodeCoverage&lt;/strong&gt; (GitHub Advanced Security for Azure DevOps alternative)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Price:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Trello: free = $0/month&lt;/li&gt;
&lt;li&gt;GitLab: free = $0/month&lt;/li&gt;
&lt;li&gt;CircleCI: free = $0/month&lt;/li&gt;
&lt;li&gt;TestLink: free = $0/month&lt;/li&gt;
&lt;li&gt;Docker Hub: free = $0/month&lt;/li&gt;
&lt;li&gt;CodeCoverage: free = $0/month&lt;/li&gt;
&lt;li&gt;Annual cost: $0&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Pros:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Completely free&lt;/li&gt;
&lt;li&gt;Trello offers a user-friendly project management system&lt;/li&gt;
&lt;li&gt;GitLab provides a comprehensive version control system&lt;/li&gt;
&lt;li&gt;CircleCI offers easy automation options&lt;/li&gt;
&lt;li&gt;TestLink provides comprehensive test management&lt;/li&gt;
&lt;li&gt;Docker Hub offers secure artifact management&lt;/li&gt;
&lt;li&gt;CodeCoverage provides detailed code analysis&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Cons:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Limited features compared to paid tools&lt;/li&gt;
&lt;li&gt;Limited support and documentation&lt;/li&gt;
&lt;li&gt;May require additional setup and configuration&lt;/li&gt;
&lt;li&gt;Some tools have limited scalability&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Best for Small Teams/Startups:&lt;/strong&gt; &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Completely free&lt;/li&gt;
&lt;li&gt;Offers a range of tools for project management, version control, automation, testing, and artifact management&lt;/li&gt;
&lt;li&gt;Ideal for small teams or startups with limited budget&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;strong&gt;Based on this calculation, the annual cost for a single user is:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Azure DevOps: $360&lt;/li&gt;
&lt;li&gt;Set 1: $420&lt;/li&gt;
&lt;li&gt;Set 2: $343.88&lt;/li&gt;
&lt;li&gt;Set 3 (Free alternatives): $0&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Azure DevOps is the best overall choice for its comprehensive and integrated platform, scalability, and security. However, for small teams or startups with limited budget, Set 3 (Free alternatives) is a cost-effective option. Set 1 is suitable for large enterprises requiring advanced features, while Set 2 is a budget-friendly option for teams needing robust tools.&lt;br&gt;
Using individual services, like Set 1 or Set 2, can be worth the effort if your team has specific needs that aren't met by an integrated platform like Azure DevOps. For example, if your team requires advanced project management, Jira might be a better choice. However, integrating individual services can be time-consuming and costly, and may not provide the same level of seamless integration as an all-in-one platform like Azure DevOps. Ultimately, it's essential to weigh the pros and cons of each option and consider your team's specific needs before making a decision.&lt;/p&gt;

</description>
      <category>azure</category>
      <category>devops</category>
      <category>cicd</category>
      <category>development</category>
    </item>
    <item>
      <title>DARQ - The Future Technology</title>
      <dc:creator>Shreyash Singh</dc:creator>
      <pubDate>Wed, 11 Aug 2021 15:34:59 +0000</pubDate>
      <link>https://forem.com/shreyash333/darq-the-future-technology-10hh</link>
      <guid>https://forem.com/shreyash333/darq-the-future-technology-10hh</guid>
      <description>&lt;p&gt;Many of us already know a lot of technologies irrespective of time and domain. But everyone wants to know the future technology. The technology I am talking about is not a single technology but a group of technologies which has not been explored yet. Till the date you won’t be able to find any projects on internet using this technology, but a lot of tech experts and giant firms believes that this will be one of the leading technologies in the future. I would like to relate this with a famous movie series AVENGERS. As you already know in Avengers all the superheroes come together and save the world.  Similarly, here four super technologies are combining to form a technology known as DARQ. DARQ stands for Distributed Ledger Technologies, Artificial Intelligence, Extended Reality, and Quantum computing.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--lMbncr-R--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/y26wdcrtkvvbkrljlht6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--lMbncr-R--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/y26wdcrtkvvbkrljlht6.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Distributed ledger Technology (DLT)
&lt;/h2&gt;

&lt;p&gt;In our traditional system many data are stored in centralized system. Nowadays privacy is a myth, companies ensures that their data is safe but still the data breaches happens and users personal, public, business all kinds of data are available on the internet or dark web for sale. Many hackers hack systems or servers and steal the user data and sell it over the internet. To prevent this, we must increase system security. But the normal server all user data stores in a single or multiple servers in one place. If someone hacked one server, it’s easy to get access to others also. DLT overcome all drawbacks which other benefits.&lt;br&gt;
DLT is a digital system used to record transactions in which all information is recorded. There is no central data or a designated admin functionality, rather data is recorded at multiple places. In a DLT system, each node is verified to ensure security and then a record is generated accordingly. This system has revolutionized the recordkeeping technique by practicing the gathering of data with proper communication. All data networks are encrypted, and no one can edit this data while data transmitting. Best example of this is cryptocurrency and blockchain because of this over all communication is encrypted and transition information is not readable.&lt;/p&gt;

&lt;h2&gt;
  
  
  Artificial Intelligence
&lt;/h2&gt;

&lt;p&gt;Artificial Intelligence is the ability of a machine to think, to react like human in complex situations and work faster and better than humans. A set of instructions known as program is given to machine and this machine use programs to analyze, or study large amounts of information quickly, then they pick actions from among many choices. AI is close to human intelligence as it helps in planning, learning, reasoning, problem-solving, etc.&lt;/p&gt;

&lt;h2&gt;
  
  
  Extended Reality
&lt;/h2&gt;

&lt;p&gt;Extended Reality is a combination of AR (Augmented Reality), VR (Virtual Reality) and MR (Mixed Reality). Humans are using VR for gaming, watching movies, military training, and medical fields too. AR is something that we use or see daily in our life, the best example is your Instagram and snapchat filter which AR filters. MR is Mixed Reality is combination of AR and VR which produce new environments and visuals, where physical and digital objects meet and interact in real time.&lt;/p&gt;

&lt;h2&gt;
  
  
  Quantum Computing
&lt;/h2&gt;

&lt;p&gt;You must be aware of how our computer systems handle data storage and handling in individual bits, i.e., 0 and 1 known as binary digits. Unlike the normal computers, a quantum computer data is in 10,01 known as qubits which is a superposition of both 0 and 1(quantum theory). This increases computer capacity and makes computers more efficient. Many industries now use these computers to do their job such as space communication or high-level data processing. Quantum computer based on quantum theory.&lt;/p&gt;

&lt;p&gt;Individually these technologies offer a wealth of opportunities for business but when used together it produces a tremendous amount of value. Many big firms agree that the combination of all four DARQ technologies will either change or will bring extensive change to their business. So, what do you think could be a possibility of DARQ technology? &lt;/p&gt;

</description>
      <category>distributedledgertechnologies</category>
      <category>ai</category>
      <category>extendedreality</category>
      <category>quantumcomputing</category>
    </item>
    <item>
      <title>My Journey towards FLUTTER</title>
      <dc:creator>Shreyash Singh</dc:creator>
      <pubDate>Thu, 25 Jun 2020 05:05:42 +0000</pubDate>
      <link>https://forem.com/shreyash333/my-journey-towards-flutter-45p7</link>
      <guid>https://forem.com/shreyash333/my-journey-towards-flutter-45p7</guid>
      <description>&lt;p&gt;One year ago, in the month of July 2019 I just entered into the second year of my Engineering with some core subjects. I had started learning a new Programming language called “Java”. Some of my classmates already knew a lot of things like one of them was Microsoft student partner, then there were other students who already had started with new things like Web Development, Data Science etc. Also, in second year the diploma students were supposed to join us who already knew Java and Python. At that time, I thought have I made the right choice by choosing computer Engineering? I was little bit insecure, nervous, depressed and confused about where am I going to land up. Because I had not started anything new or significant and I hadn't decided the domain in which I would go in future as well. In September I had went for IV in a company where they suggested us to do some internship part time with college. So, I decided to join any company as intern after semester 3. But now the big problem was how and when. How would I get an internship by only knowing the C, C++ and Java language? When would I do work as intern? In regular day I had 8 hrs. of college and 4 hrs. of travelling and after that I am completely exhausted. So, I thought I would do a full-time internship only for one month which I will get after my semester 3. So now I had to find how I may get an Internship Opportunity. There are plenty of online platforms which provide internship and jobs. But the probability of getting internship from such platforms were very less. So, I needed some new idea to get an internship. &lt;/p&gt;

&lt;p&gt;I worked out and find out a way. So, I had made a list of 25 IT company nearer to my place using google map so I won't have to travel much. I had visited every single company’s website and noted their name, address, email id and phone number. I had shortlisted some 10-15 companies depending on their distance from my residence and based on their ratings on Google. I had shared this idea with my peers but they had not shown much interest in this so I decided to apply for the internship alone. Before my second last exam of semester 3 I sent a mail to all the companies which I had shortlisted. I was expecting few positive replies but it didn’t appear to work at that point of time. I still waited with a hope of better responses. I was done with my exams and yet there was no response. I started losing hope as I was quite upset but then a new strategy struck my head. This time I would call to each and every company and ask whether they have any place for interns in their company. I started making calls, some numbers were out of service, some were wrong. Only two numbers ringed in, but they didn’t receive the call.  After few minutes I got a call from the previous call that I had made. I gave my introduction and asked them do they have any place for interns. The Person on the call heard me and asked me to call his partner for it. He forwarded me the number and I had made the call and he asked me to send my resume. So, I mailed him my resume with some lines which would impress him because this was the only opportunity through which I could get an internship. &lt;/p&gt;

&lt;p&gt;I was not expecting anything but wished that I get this chance. I even started planning what was supposed to be done if I get rejected from here. I had applied for a Math’s Scholarship and planned to learn Python. After two days I got a call and they asked me to come for interview. I was delighted but tense at the same time as I had not prepared anything for interview. So, I had not slept that night I had revised all my basic concepts of programming language which I was knowing that was C, C++ and Java. I was very clear with OOPS concepts and also prepared some basic of HTML and visual basic which I had learned in my junior college. I had gone through the website of company so I was expecting internship under Web Development. Since I was not having any previous experience or any certification so I didn’t expect for a paid internship. They asked me some basic concepts of java like Function, Class, Data Types etc. and also the OOPs concepts. After a while they said as I don't know JavaScript and HTML much, they can't take me in web development. So, they offered me to learn an upcoming technology called as “Flutter”. There organization had also started with flutter so this was a great opportunity for me. As I needed internship to gain some experience and learn something new, I said yes to them. They showed me my place and ask me to join from tomorrow. I was really happy that day and little bit confident. &lt;/p&gt;

&lt;p&gt;On 3 December 2019 that was my first day of internship - I was really nervous but confident as well. I met some new peoples in the company. I started learning the Dart language at 10 am and finished it at 3 pm and also made my own notes. Then Sir had given me some YouTube videos link which I had to watch and make my notes. Next day sir cleared my doubts on dart and took me deep into dart with Asynchronous Programming. He also explained me the normal concepts on programming which I had never learned in college. I think the knowledge which I had gained in that one week was greater than the knowledge that I had in past 6 months. After that he had given me the videos of Udemy courses. First 10-15 days I had only seen the videos and gain only the theoretical Knowledge. I had not written a single line of code in dart. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--0zVPl0sI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/3928vesqn5d4r6gnq1ei.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--0zVPl0sI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/3928vesqn5d4r6gnq1ei.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;So, after 15-16 days I had started with my first flutter project. As my laptop was not that good so I was unable to install emulator in it. I have to debug it in my phone. I can't define that happiness of making just a splash screen. Then I made my first project in which I used to take input, display it on next page, store it in Firebase and retrieve back from Firebase. This was my first app. It took me around a week to complete this. I took 1-1.5 days just to pass the data from one screen to other. Anyway, I made my first app and I was really happy with that. Further I just upgrade the app by using route. Then in next version I made a new screen where all the stored data would be displayed. I had used provider in this version. Further I had made a local database for the same app. I had used a library known as Moor in that. Due to the community of flutter was not huge at that time so I came out with problems which were not there on any platform like stack over flow or anything. Even there was no YouTube videos on the topic moor. Since my laptop’s configuration was not that good it used to crash repeatedly once in hour or sometimes once in a day. But I really enjoyed my one month in the company.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ywBrqoTJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/jcihcbtd3uxubbsztkmi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ywBrqoTJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/jcihcbtd3uxubbsztkmi.png" alt="Alt Text"&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;I had also decided to work as part time intern after college starts. In January there was an NSS camp, after returning I just started with my new project. As I needed to focus on UI so sir and I decide to make a widget directory in which all the widgets list will be displayed and after clicking on them you will be directed to a new page which will show you its implementation. It became really difficult for me to complete this project on my laptop so on 31 January I bought a new laptop with a great configuration. Now this boosted my speed. I can use emulator now and also the running time was reduced. I completed the project in next one month with around 70 widgets some of them where animation too. So, after completing this project I was really confident. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--5AL7XD4z--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/a0bav67extupf1ux2o7x.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--5AL7XD4z--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/a0bav67extupf1ux2o7x.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now I knew where we have to use which widgets, which widget has which property and stuff like this. I started working on a Food App. At that time that was the best User Interface I had made. I had made four screens with bottom navigator. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--pG0tnige--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/zmks1kmf8azrsxyoyj5m.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--pG0tnige--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/zmks1kmf8azrsxyoyj5m.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In between my college got shut due to COVID 19 pandemic. This was the opportunity for me, now I could give more time to flutter. I made a COVID 19 app by referring YouTube videos and now I was very much confident, I can build any screen without animation. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--hUKF_o4N--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/ohvmk3868cohj3b12ms1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--hUKF_o4N--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/ohvmk3868cohj3b12ms1.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I started one food app with its UI and completed in 6 days. I have made all the screens of the app, around 20 screens. And this UI was really nice compare to my last food app. Now I am again making a new app which is under progress I hope it would be completed soon. Now, I love Flutter and wish to be the best in the business. However, it’s Great to have flutter and I look ahead to learn new things in it.&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
