How StreamSQL Applications Enable Secure Resource Isolation in Real-Time Data Streams
This article explains the StreamSQL Application concept, its resource‑sharing and isolation mechanisms, the DDL syntax for managing Applications, and a step‑by‑step example showing how a new user can create, run, and isolate StreamJobs without affecting existing production workloads.
Application Concept
Application is a collection of business‑logic‑related StreamJobs. Properly grouping StreamJobs into an Application allows users to achieve both resource sharing and isolation across different users.
Resource Sharing
StreamJobs within the same Application that use the same Input Stream share a single Receiver, which continuously pulls data from the external source.
Resource Isolation
StreamJobs in different Applications that use the same Input Stream each get their own Receiver, ensuring that the workloads are isolated from each other.
Application Syntax
Application exists as a logical concept used for runtime isolation and permission verification. Users can configure parameters for an Application, and the scope of these parameters is limited to that logical unit.
DDL for Application
Create an Application
CREATE APPLICATION <app_name> WITH APPPROPERTIES(["key"="value"][,"key"="value"...]);This statement creates a new Application and allows arbitrary key‑value pairs to be set in APPPROPERTIES.
Describe an Application DESCRIBE [|DESC] APPLICATION <app_name>; Shows information about the specified Application.
Show Current Application SHOW CURRENT APPLICATION; Displays the Application the current user is operating in.
Alter an Application
ALTER APPLICATION <app_name> SET APPPROPERTIES("key"="value");Modifies the configuration of an existing Application.
Show All Applications SHOW APPLICATIONS; Lists all Applications.
Drop an Application DROP APPLICATION <app_name>; Deletes the specified Application.
Application‑Level Management
Before running any StreamJob, a user must switch to the appropriate Application. The default Application is default.
Use Application USE APPLICATION <app_name>; List Running Applications
LIST APPLICATIONS;Practical Isolation Example
Emily, a new user of Transwarp StreamSQL, needs to run experimental tasks without affecting existing production jobs. She first checks the running StreamJobs and discovers an Application named production is active.
Emily switches to the default Application and requests the administrator to create a new Application for her.
The admin grants Emily the CREATE APPLICATION permission.
Emily creates a new Application testapp, defines a stream and a table, and launches a StreamJob.
She verifies the StreamJob started successfully.
When she lists running StreamJobs, only those belonging to testapp appear; the production jobs remain invisible, confirming isolation.
After completing her tasks, Emily switches back to testapp and stops all its StreamJobs.
Conclusion
StreamSQL introduces the Application concept to provide user‑level resource isolation on a streaming platform. Applications are independent, so StreamJobs accessing the same Input Stream do not interfere with each other, enabling secure resource management, improved development efficiency, and stronger information security.
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
StarRing Big Data Open Lab
Focused on big data technology research, exploring the Big Data era | [email protected]
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
