-
Notifications
You must be signed in to change notification settings - Fork 339
Home
esProc is a programming language specially designed to handle (semi)structured data. It adopts a new and different data model and computational model, as well as provides a wide variety of basic algorithms, achieving easy and high-performance computational problem-solving processes.
A non-object-oriented language, esProc doesn’t have such complex concepts as inheritance and overloading. It uses the concept of object merely to facilitate the object-related methods. Any programmer with the basic level of programming skill, such as the familiarity of BASIC, can learn it quickly and well. A Java-interpreted dynamic language, esProc is able to flexibly generate code at run time, simplifying program development even further.
esProc defines its niche as the tool of computing (semi)structured data, so it doesn’t provide algorithms for directly performing statistical analysis, data mining and machine learning; nor is it an expert at processing media and GIS data.
Data File Processor
- Self processing text \Excel
- Non professional developers quickly explore the data at hand
- Text types are various and format is not standard
- Excel has various versions and special layout
- Batch processing of files
SQL Enhancer
- Solve difficult database problems on desktop
- Computation with complex logic
- Multi step procedure computing
- Large amount of temporary calculation
- Exploratory analysis with high degree of freedom Report Data Source
- Diverse data sources,cross database & cross source
- SQL with complex logic
- Tedious Java custom data source
- Stored procedure outside database that is low coupling and portable JAVA Computing Layer
- SQL is forbidden, require java to implement algorithm
- Non RDB data source
- Cross database computation
- Complex algorithm, procedural algorithm
- Stored procedure outside database that is hot deployed and low coupling
esProc does not rely on the computing power of the database, and has a complete agile syntax system.
No database is required during calculation.
- It is Not converted to SQL and executed by database
- Universal computing can be implemented for any data source
SPL(Structured Process Language)
Combined the common advantages of SQL and Java
- Adapt to set batch computation (SQL advantage)
- Good at step-by-step procedure computing (Java advantage)
Well designed rich library functions and consistency syntax
- Easier to master and better performance than Python
Vertica does not support stored procedures. Complex business logic can only be written in Java. Long code is hard to maintain.
User Evaluation
- The best use for us is to pass parameters to the Vertica database.
- Each cell becomes a data array that are easy to use, compare and manipulate. It is very logical and you have made it user friendly.
Application Effect
- Enable Vertica to support stored procedures outside the database
- The implementation of procedural algorithm is simple and friendly
- BIRT data preparation is simple and efficient
There are 44 kinds of Excel, which are parsed by Java and imported into database. The development cycle is long and hard coding is difficult.
Reducing development cost
All 44 kinds of Excel analysis reduced from 32 person days to 6 person days
Improving development efficiency
Each Excel parsing code changed from 100 lines to 3 lines
Reducing maintenance cost
In addition to the short code and easy maintenance, script hot deployment takes effect immediately after modification
SPL Resource: SPL Official Website | SPL Blog | Download esProc SPL | SPL Source Code