본문 바로가기

Project

6. Investment data collection system - preview1

Project : Investment Data Collection System Development for Individual

Data collection system = 
Data collecting component + Data preprocessing component + Data storing component 
+ Logging component

All of the components have their own well-defined interface to communicate each other.
All of the components can be used for making other systems.
All of the conponents will be distributed by using dynamic linking.
So, we can easily replace one component with another component during executing.

Some kind of external module can be dynamically pluged into these component
Two machine will be needed. One for collecting & storing, Another for preprocessing & analysis 
Reliability, Maintainability, Reusabiltiy, and Scalability should be largely considered because it has too long life cycle.
But, Availability is not high priority because there's only little business risk about it.
We should take advantage of latest technology like AI as much as possible.

Plan : Data collecting System Process

1. Find useful Datasource
1) Investigate datasource       //ex)website, public data portal, data mart
2) Legal check                   //legal usage 
- robot.txt check, etc
3) Effectivness check            //effective for investing analysis
4) Data type, size check        //network bandwidth consideration 
5) Necessity of login check & store credential 
6) Ask AI for advice

2. Store unstructured data to DB (Batch)
1) Verity data integrity
2) Data type validation
- Date, Regex, Uniquness validator
3) Control data transmission considering network status & Cost
4) Alarming function for critical situation         //check the program state
5) Scheculing for cyclic job
6) DNS resolution setting for performance
7) Temporarily storing data to DB for preprocessing

3. Preprocessing (Batch)                //unstructred data -> structured data
1) Data definition for storing DB
2) Data translation way definition
3) Data validation after data translation
4) Configuring Batch process for preprocessing

4. Store structured data to DB
1) Hardware purchase considering capability
2) Authentication for managing DB
3) Statistic data generation about receiving data
4) Considering Concurrency, Distributed, Document store, Speed
5) DBMS choice like Nosql or RDBMS
6) ERD and DB schema definition 


Plan : Data Collecting System Design Overview
1. Class Design      //utilize UML 2.0 
2. Design pattern
1) Worker-and-master pattern : workers read and fetch data, master manages workers
2) message broker pattern : properly distribute collecting results to components